Systems and methods for providing recommendations based on tracked activities

ABSTRACT

A wearable apparatus is provided for capturing and processing images from an environment of a user. In one implementation, a wearable apparatus for monitoring activities includes a wearable image sensor configured to capture a plurality of images from an environment of a user of the wearable apparatus. The wearable apparatus also includes at least one processing device programmed to analyze the plurality of images to identify in one or more of the plurality of images at least one indicator of an activity, and to transmit, to an external device, the at least one indicator of the activity.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of priority of U.S. ProvisionalPatent Application No. 62/211,880, filed Aug. 31, 2015; U.S. ProvisionalPatent Application No. 62/214,323, filed Sep. 4, 2015; U.S. ProvisionalPatent Application No. 62/214,330, filed Sep. 4, 2015; U.S. ProvisionalPatent Application No. 62/214,334, filed Sep. 4, 2015; U.S. ProvisionalPatent Application No. 62/214,342, filed Sep. 4, 2015; and U.S.Provisional Patent Application No. 62/275,531, filed Jan. 6, 2016. Allof the foregoing applications are incorporated herein by reference intheir entirety.

BACKGROUND Technical Field

This disclosure generally relates to devices and methods for capturingand processing images from an environment of a user, and usinginformation derived from captured images. More particularly, thisdisclosure relates to devices and methods for using a wearable deviceincluding a camera for capturing information related to the user'senvironment, and to systems for processing data received from thewearable device.

Background Information

Today, technological advancements make it possible for wearable devicesto automatically capture images and store information that is associatedwith the captured images. Certain devices have been used to digitallyrecord aspects and personal experiences of one's life in an exercisetypically called “lifelogging.” Some individuals log their life so theycan retrieve moments from past activities, for example, social events,trips, etc. Lifelogging may also have significant benefits in otherfields (e.g., business, fitness and healthcare, and social research).Lifelogging devices, while useful for tracking daily activities, may beimproved with capability to enhance one's interaction in his environmentwith feedback and other advanced functionality based on the analysis ofcaptured image data.

Even though users can capture images with their smartphones and somesmartphone applications can process the captured images, smartphones maynot be the best platform for serving as lifelogging apparatuses in viewof their size and design. Lifelogging apparatuses should be small andlight, so they can be easily worn. Moreover, with improvements in imagecapture devices, including wearable apparatuses, additionalfunctionality may be provided to assist users in navigating in andaround an environment, identifying persons and objects they encounter,and providing feedback to the users about their surroundings andactivities. Therefore, there is a need for apparatuses and methods forautomatically capturing and processing images to provide usefulinformation to users of the apparatuses, and for systems and methods toprocess and leverage information gathered by the apparatuses.

SUMMARY

Embodiments consistent with the present disclosure provide devices andmethods for automatically capturing and processing images from anenvironment of a user, and systems and methods for processinginformation related to images captured from the environment of the user.

In accordance with a disclosed embodiment, a system may select contentfor a user of a wearable apparatus based on the user's behavior. Thesystem may include a memory storing executable instructions and at leastone processing device programmed to execute the instructions. The atleast one processing device may be programmed to execute theinstructions to analyze a plurality of images captured by a wearableimage sensor included in the wearable apparatus to identify one or moreof the plurality of images that depict a behavior of the user. The atleast one processing device may also be programmed to execute theinstructions to determine, based on the analysis, information associatedwith the one or more images depicting the behavior of the user. The atleast one processing device may be further programmed to execute theinstructions to select, based on the information associated with the oneor more images depicting the behavior of the user, at least one contentitem.

In accordance with a disclosed embodiment, a method may select contentfor a user of a wearable apparatus based on the user's behavior. Themethod may include analyzing a plurality of images captured by awearable image sensor included in a wearable apparatus to identify oneor more of the plurality of images that depict a behavior of the user.The method may also include determining, based on the analysis,information associated with the one or more images depicting thebehavior of the user. The method may further include selecting, based onthe information associated with the one or more images depicting thebehavior of the user, at least one content item.

In accordance with a disclosed embodiment, a system may analyzeinformation collected by a plurality of wearable camera systems. Thesystem may include a memory storing executable instructions and at leastone processing device programmed to execute the instructions. The atleast one processing device may be programmed to execute theinstructions to receive information derived from image data captured bythe wearable camera systems. The at least one processing device may alsobe programmed to execute the instructions to analyze the derivedinformation to identify a commonality related to the image data capturedby at least two of the wearable camera systems. The at least oneprocessing device may further be programmed to execute the instructionsto determine, based on the commonality, statistical data related tousers of the at least two of the wearable camera systems. In addition,the at least one processing device may be programmed to execute theinstructions to select, based on the statistical data, at least onecontent item for at least one of the users of the wearable camerasystems who share the commonality.

In accordance with a disclosed embodiment, a method may analyzeinformation collected by a plurality of wearable camera systems. Themethod may include receiving information derived from image datacaptured by the wearable camera systems. The method may also includeanalyzing the derived information to identify a commonality related tothe image data captured by at least two of the wearable camera systems.The method may further include determining, based on the commonality,statistical data related to users of the at least two of the wearablecamera systems. In addition, the method may include selecting, based onthe statistical data, at least one content item for at least one of theusers of the wearable camera systems who share the commonality.

In accordance with a disclosed embodiment, a wearable apparatus foridentifying exposure to a recognizable item includes a wearable imagesensor configured to capture a plurality of images from an environmentof a user of the wearable apparatus. At least one processing device isprogrammed to analyze the plurality of images to identify one or more ofthe plurality of images that include the recognizable item; determine,based on analysis of the one or more of the plurality of images thatinclude the recognizable item, information associated with therecognizable information; and transmit, to an external device, theinformation associated with the recognizable item and informationidentifying the user of the wearable apparatus.

In accordance with a disclosed embodiment, a system for identifyingexposure to recognizable items by a population of users of a pluralityof wearable camera systems includes a memory storing executableinstructions and at least one processing device programmed to executethe instructions to perform a series of steps. One step is to receiveinformation associated with the recognizable item, the informationhaving been derived from image data captured by the plurality ofwearable camera systems. Another step is to analyze the information todetermine an exposure level of the users to the recognizable item,wherein the exposure level represents an aggregated value of an exposureper unit time for a group of one or more users of the population ofusers of the plurality of wearable camera systems.

In accordance with a disclosed embodiment, a method for identifyingexposure to recognizable item s by a population of users of a pluralityof wearable camera systems includes receiving information associatedwith the recognizable item, the information having been derived fromimage data captured by the plurality of wearable camera systems. Themethod also includes analyzing the information to determine an exposurelevel of the users to the recognizable item, wherein the exposure levelrepresents an aggregated value of an exposure per unit time for a groupof one or more users of the population of users of the plurality ofwearable camera systems.

In accordance with a disclosed embodiment, a wearable apparatus formonitoring activities includes a wearable image sensor configured tocapture a plurality of images from an environment of a user of thewearable apparatus. The wearable apparatus also includes at least oneprocessing device programmed to analyze the plurality of images toidentify in one or more of the plurality of images at least oneindicator of an activity and transmit, to an external device, the atleast one indicator of the activity.

In accordance with a disclosed embodiment, a method for monitoringactivities using a wearable apparatus includes obtaining a plurality ofimages from an environment of a user of the wearable apparatus andanalyzing the plurality of images to identify in one or more of theplurality of images at least one indicator of the activity.

In accordance with a disclosed embodiment, a wearable apparatusdetermines an emotional environment of a user of the wearable apparatus.The wearable apparatus may include a wearable image sensor configured tocapture one or more images from the environment of the user and at leastone processing device. The at least one processing device may beprogrammed to analyze the one or more images in order to identify afacial expression of a person in the environment of the user. Thewearable apparatus may also transmit information associated with thefacial expression to an external device.

In accordance with a disclosed embodiment, a method determines anemotional environment of a user of a wearable apparatus. The method mayinclude obtaining one or more images of at least a portion of anenvironment of the user and analyzing the one or more images to identifya facial expression of the person in the environment of the user.

In accordance with a disclosed embodiment, a wearable apparatus isprovided for identifying a person in an environment of a user of thewearable apparatus based on non-facial information. The wearableapparatus includes a wearable image sensor configured to capture aplurality of images from the environment of the user. The wearableapparatus also includes a processing device programmed to analyze afirst image of the plurality of images to determine that a face appearsin the first image. The processing device is also programmed to analyzea second image of the plurality of images to identify an item ofnon-facial information appearing in the second image that was capturedwithin a time period including a time when the first image was captured.The processing device is further programmed to determine identificationinformation of a person associated with the face based on the item ofnon-facial information.

In accordance with a disclosed embodiment, a system is provided foridentifying a person in an environment of a user of a wearableapparatus. The system includes a memory storing executable instructions.The system also includes a processing device programmed to execute theinstructions to determine, based on information associated with theuser, a plurality of persons who are scheduled to attend an event thatthe user is scheduled to attend. The processing device is alsoprogrammed to obtain image data captured by the wearable apparatus at alocation associated with the event, wherein the image data includes arepresentation of a face. The processing device is also programmed tocompare information derived from the image data with stored informationassociated with at least a subset of the plurality of persons. Theprocessing device is further programmed to determine identificationinformation of a person associated with the face based on thecomparison.

In accordance with a disclosed embodiment, a method is provided foridentifying a person in an environment of a user of a wearable apparatusbased on non-facial information. The method includes obtaining aplurality of images captured from the environment of the user by awearable image sensor included in the wearable apparatus. The methodalso includes analyzing a first image of the plurality of images todetermine that a face appears in the first image. The method alsoincludes analyzing a second image of the plurality of images to identifyan item of non-facial information appearing in the second image that wascaptured within a time period including a time when the first image iscaptured. The method further includes determining identificationinformation of a person associated with the face based on the item ofnon-facial information.

In accordance with a disclosed embodiment, a method is provided foridentifying a person in an environment of a user of a wearableapparatus. The method includes determining, based on informationassociated with the user, a plurality of persons who are scheduled toattend an event that the user is scheduled to attend. The method alsoincludes obtaining image data captured by the wearable apparatus at alocation associated with the event, wherein the image data includes arepresentation of a face. The method also includes comparing informationderived from the image data with stored information associated with atleast a subset of the plurality of persons. The method further includesdetermining identification information of a person associated with theface based on the comparison.

Consistent with other disclosed embodiments, non-transitorycomputer-readable storage media may store program instructions, whichare executed by at least one processor and perform any of the methodsdescribed herein.

The foregoing general description and the following detailed descriptionare exemplary and explanatory only and are not restrictive of theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate various disclosed embodiments. Inthe drawings:

FIG. 1A is a schematic illustration of an example of a user wearing awearable apparatus according to a disclosed embodiment.

FIG. 1B is a schematic illustration of an example of the user wearing awearable apparatus according to a disclosed embodiment.

FIG. 1C is a schematic illustration of an example of the user wearing awearable apparatus according to a disclosed embodiment.

FIG. 1D is a schematic illustration of an example of the user wearing awearable apparatus according to a disclosed embodiment.

FIG. 2 is a schematic illustration of an example system consistent withthe disclosed embodiments.

FIG. 3A is a schematic illustration of an example of the wearableapparatus shown in FIG. 1A.

FIG. 3B is an exploded view of the example of the wearable apparatusshown in FIG. 3A.

FIG. 4A is a schematic illustration of an example of the wearableapparatus shown in FIG. 1B from a first viewpoint.

FIG. 4B is a schematic illustration of the example of the wearableapparatus shown in FIG. 1B from a second viewpoint.

FIG. 5A is a block diagram illustrating an example of the components ofa wearable apparatus according to a first embodiment.

FIG. 5B is a block diagram illustrating an example of the components ofa wearable apparatus according to a second embodiment.

FIG. 5C is a block diagram illustrating an example of the components ofa wearable apparatus according to a third embodiment.

FIG. 6 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 7 is a schematic illustration of an embodiment of a wearableapparatus including an orientable image capture unit

FIG. 8 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 9 is a schematic illustration of a user wearing a wearableapparatus consistent with an embodiment of the present disclosure.

FIG. 10 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 11 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 12 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 13 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 14 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 15 is a schematic illustration of an embodiment of a wearableapparatus power unit including a power source.

FIG. 16 is a schematic illustration of an exemplary embodiment of awearable apparatus including protective circuitry.

FIG. 17A is a block diagram of an exemplary embodiment of a system forselecting content for a user based on the user's behavior.

FIG. 17B is a block diagram illustrating an example of the components ofthe system shown in FIG. 17A.

FIG. 17C is a block diagram of an exemplary memory of the system shownin FIG. 17A storing software modules.

FIG. 18A is a schematic illustration of an exemplary application ofpersonalized content selection.

FIG. 18B is a schematic illustration of another exemplary application ofpersonalized content selection.

FIG. 18C is a schematic illustration of a third exemplary application ofpersonalized content selection.

FIG. 19A is a flow chart of an exemplary method for selecting contentfor a user based on the user's behavior.

FIG. 19B is a flow chart of another exemplary method for selectingcontent for a user based on the user's behavior.

FIG. 20A is a block diagram of an exemplary embodiment of a system foranalyzing information collected by a plurality of wearable systems.

FIG. 20B is a block diagram illustrating an example of the componentsinvolved in the system shown in FIG. 20A.

FIG. 21 is a block diagram of an exemplary memory of the system shown inFIG. 20A storing software modules.

FIG. 22 is a flow chart of an exemplary method for analyzing informationcollected by a plurality of wearable systems.

FIG. 23 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 24 shows an example environment including a wearable apparatus forcapturing and processing images.

FIG. 25A is a flowchart illustrating an exemplary method fortransmitting information associated with a recognizable item.

FIG. 25B is a flowchart illustrating an exemplary method for determiningan exposure level of one or more users to a recognizable item.

FIG. 26 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 27A shows an example environment including a wearable apparatus forcapturing and processing images.

FIG. 27B shows another example environment including a wearableapparatus for capturing and processing images.

FIG. 28A is a flow chart illustrating an example method for identifyingat least one indicator of activity consistent with the presentdisclosure.

FIG. 28B is a flow chart illustrating an example method for using atleast one indicator of activity consistent with the present disclosure.

FIG. 29 is a schematic illustration of an example system consistent withthe disclosed embodiments.

FIG. 30 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 31 is a flowchart illustrating an exemplary method of determiningthe emotional environment of a person consistent with the disclosedembodiments.

FIG. 32 is a block diagram illustrating an exemplary memory.

FIG. 33A shows an exemplary image captured by an image sensor of awearable apparatus.

FIG. 33B shows another exemplary image captured by an image sensor ofwearable apparatus.

FIG. 33C shows another exemplary image captured by an image sensor ofwearable apparatus.

FIG. 34 illustrates exemplary connections between wearable apparatus andother devices.

FIG. 35 shows an exemplary image captured by an image sensor of wearableapparatus.

FIG. 36 is a flowchart illustrating a method for identifying a person inan environment of a user of a wearable apparatus based on non-facialinformation.

FIG. 37 is a flowchart illustrating another method for identifying aperson in an environment of a user of a wearable apparatus based onnon-facial information.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.Wherever possible, the same reference numbers are used in the drawingsand the following description to refer to the same or similar parts.While several illustrative embodiments are described herein,modifications, adaptations and other implementations are possible. Forexample, substitutions, additions or modifications may be made to thecomponents illustrated in the drawings, and the illustrative methodsdescribed herein may be modified by substituting, reordering, removing,or adding steps to the disclosed methods. Accordingly, the followingdetailed description is not limited to the disclosed embodiments andexamples. Instead, the proper scope is defined by the appended claims.

FIG. 1A illustrates a user 100 wearing an apparatus 110 that isphysically connected (or integral) to glasses 130, consistent with thedisclosed embodiments. Glasses 130 may be prescription glasses,magnifying glasses, non-prescription glasses, safety glasses,sunglasses, etc. Additionally, in some embodiments, glasses 130 mayinclude parts of a frame and earpieces, nosepieces, etc., and one or nolenses. Thus, in some embodiments, glasses 130 may function primarily tosupport apparatus 110, and/or an augmented reality display device orother optical display device. In some embodiments, apparatus 110 mayinclude an image sensor (not shown in FIG. 1A) for capturing real-timeimage data of the field-of-view of user 100. The term “image data”includes any form of data retrieved from optical signals in thenear-infrared, infrared, visible, and ultraviolet spectrums. The imagedata may include video clips and/or photographs.

In some embodiments, apparatus 110 may communicate wirelessly or via awire with a computing device 120. In some embodiments, computing device120 may include, for example, a smartphone, or a tablet, or a dedicatedprocessing unit, which may be portable (e.g., can be carried in a pocketof user 100). Although shown in FIG. 1A as an external device, in someembodiments, computing device 120 may be provided as part of wearableapparatus 110 or glasses 130, whether integral thereto or mountedthereon. In some embodiments, computing device 120 may be included in anaugmented reality display device or optical head mounted displayprovided integrally or mounted to glasses 130. In other embodiments,computing device 120 may be provided as part of another wearable orportable apparatus of user 100 including a wrist-strap, amultifunctional watch, a button, a clip-on, etc. And in otherembodiments, computing device 120 may be provided as part of anothersystem, such as an on-board automobile computing or navigation system. Aperson skilled in the art can appreciate that different types ofcomputing devices and arrangements of devices may implement thefunctionality of the disclosed embodiments. Accordingly, in otherimplementations, computing device 120 may include a Personal Computer(PC), laptop, an Internet server, etc.

FIG. 1B illustrates user 100 wearing apparatus 110 that is physicallyconnected to a necklace 140, consistent with a disclosed embodiment.Such a configuration of apparatus 110 may be suitable for users that donot wear glasses some or all of the time. In this embodiment, user 100can easily wear apparatus 110, and take it off.

FIG. 1C illustrates user 100 wearing apparatus 110 that is physicallyconnected to a belt 150, consistent with a disclosed embodiment. Such aconfiguration of apparatus 110 may be designed as a belt buckle.Alternatively, apparatus 110 may include a clip for attaching to variousclothing articles, such as belt 150, or a vest, a pocket, a collar, acap or hat or other portion of a clothing article.

FIG. 1D illustrates user 100 wearing apparatus 110 that is physicallyconnected to a wrist strap 160, consistent with a disclosed embodiment.Although the aiming direction of apparatus 110, according to thisembodiment, may not match the field-of-view of user 100, apparatus 110may include the ability to identify a hand-related trigger based on thetracked eye movement of a user 100 indicating that user 100 is lookingin the direction of the wrist strap 160. Wrist strap 160 may alsoinclude an accelerometer, a gyroscope, or other sensor for determiningmovement or orientation of a user's 100 hand for identifying ahand-related trigger.

FIG. 2 is a schematic illustration of an exemplary system 200 includinga wearable apparatus 110, worn by user 100, and an optional computingdevice 120 and/or a server 250 capable of communicating with apparatus110 via a network 240, consistent with disclosed embodiments. In someembodiments, apparatus 110 may capture and analyze image data, identifya hand-related trigger present in the image data, and perform an actionand/or provide feedback to a user 100, based at least in part on theidentification of the hand-related trigger. In some embodiments,optional computing device 120 and/or server 250 may provide additionalfunctionality to enhance interactions of user 100 with his or herenvironment, as described in greater detail below.

According to the disclosed embodiments, apparatus 110 may include animage sensor system 220 for capturing real-time image data of thefield-of-view of user 100. In some embodiments, apparatus 110 may alsoinclude a processing unit 210 for controlling and performing thedisclosed functionality of apparatus 110, such as to control the captureof image data, analyze the image data, and perform an action and/oroutput a feedback based on a hand-related trigger identified in theimage data. According to the disclosed embodiments, a hand-relatedtrigger may include a gesture performed by user 100 involving a portionof a hand of user 100. Further, consistent with some embodiments, ahand-related trigger may include a wrist-related trigger. Additionally,in some embodiments, apparatus 110 may include a feedback outputtingunit 230 for producing an output of information to user 100.

As discussed above, apparatus 110 may include an image sensor 220 forcapturing image data. The term “image sensor” refers to a device capableof detecting and converting optical signals in the near-infrared,infrared, visible, and ultraviolet spectrums into electrical signals.The electrical signals may be used to form an image or a video stream(i.e. image data) based on the detected signal. The term “image data”includes any form of data retrieved from optical signals in thenear-infrared, infrared, visible, and ultraviolet spectrums. Examples ofimage sensors may include semiconductor charge-coupled devices (CCD),active pixel sensors in complementary metal-oxide-semiconductor (CMOS),or N-type metal-oxide-semiconductor (NMOS, Live MOS). In some cases,image sensor 220 may be part of a camera included in apparatus 110.

Apparatus 110 may also include a processor 210 for controlling imagesensor 220 to capture image data and for analyzing the image dataaccording to the disclosed embodiments. As discussed in further detailbelow with respect to FIG. 5A, processor 210 may include a “processingdevice” for performing logic operations on one or more inputs of imagedata and other data according to stored or accessible softwareinstructions providing desired functionality. In some embodiments,processor 210 may also control feedback outputting unit 230 to providefeedback to user 100 including information based on the analyzed imagedata and the stored software instructions. As the term is used herein, a“processing device” may access memory where executable instructions arestored or, in some embodiments, a “processing device” itself may includeexecutable instructions (e.g., stored in memory included in theprocessing device).

In some embodiments, the information or feedback information provided touser 100 may include time information. The time information may includeany information related to a current time of day and, as describedfurther below, may be presented in any sensory perceptive manner. Insome embodiments, time information may include a current time of day ina preconfigured format (e.g., 2:30 pm or 14:30). Time information mayinclude the time in the user's current time zone (e.g., based on adetermined location of user 100), as well as an indication of the timezone and/or a time of day in another desired location. In someembodiments, time information may include a number of hours or minutesrelative to one or more predetermined times of day. For example, in someembodiments, time information may include an indication that three hoursand fifteen minutes remain until a particular hour (e.g., until 6:00pm), or some other predetermined time. Time information may also includea duration of time passed since the beginning of a particular activity,such as the start of a meeting or the start of a jog, or any otheractivity. In some embodiments, the activity may be determined based onanalyzed image data. In other embodiments, time information may alsoinclude additional information related to a current time and one or moreother routine, periodic, or scheduled events. For example, timeinformation may include an indication of the number of minutes remaininguntil the next scheduled event, as may be determined from a calendarfunction or other information retrieved from computing device 120 orserver 250, as discussed in further detail below.

Feedback outputting unit 230 may include one or more feedback systemsfor providing the output of information to user 100. In the disclosedembodiments, the audible or visual feedback may be provided via any typeof connected audible or visual system or both. Feedback of informationaccording to the disclosed embodiments may include audible feedback touser 100 (e.g., using a Bluetooth™ or other wired or wirelesslyconnected speaker, or a bone conduction headphone). Feedback outputtingunit 230 of some embodiments may additionally or alternatively produce avisible output of information to user 100, for example, as part of anaugmented reality display projected onto a lens of glasses 130 orprovided via a separate heads up display in communication with apparatus110, such as a display 260 provided as part of computing device 120,which may include an onboard automobile heads up display, an augmentedreality device, a virtual reality device, a smartphone, PC, table, etc.

The term “computing device” refers to a device including a processingunit and having computing capabilities. Some examples of computingdevice 120 include a PC, laptop, tablet, or other computing systems suchas an on-board computing system of an automobile, for example, eachconfigured to communicate directly with apparatus 110 or server 250 overnetwork 240. Another example of computing device 120 includes asmartphone having a display 260. In some embodiments, computing device120 may be a computing system configured particularly for apparatus 110,and may be provided integral to apparatus 110 or tethered thereto.Apparatus 110 can also connect to computing device 120 over network 240via any known wireless standard (e.g., Wi-Fi, Bluetooth®, etc.), as wellas near-filed capacitive coupling, and other short range wirelesstechniques, or via a wired connection. In an embodiment in whichcomputing device 120 is a smartphone, computing device 120 may have adedicated application installed therein. For example, user 100 may viewon display 260 data (e.g., images, video clips, extracted information,feedback information, etc.) that originate from or are triggered byapparatus 110. In addition, user 100 may select part of the data forstorage in server 250.

Network 240 may be a shared, public, or private network, may encompass awide area or local area, and may be implemented through any suitablecombination of wired and/or wireless communication networks. Network 240may further comprise an intranet or the Internet. In some embodiments,network 240 may include short range or near-field wireless communicationsystems for enabling communication between apparatus 110 and computingdevice 120 provided in close proximity to each other, such as on or neara user's person, for example. Apparatus 110 may establish a connectionto network 240 autonomously, for example, using a wireless module (e.g.,Wi-Fi, cellular). In some embodiments, apparatus 110 may use thewireless module when being connected to an external power source, toprolong battery life. Further, communication between apparatus 110 andserver 250 may be accomplished through any suitable communicationchannels, such as, for example, a telephone network, an extranet, anintranet, the Internet, satellite communications, off-linecommunications, wireless communications, transponder communications, alocal area network (LAN), a wide area network (WAN), and a virtualprivate network (VPN).

As shown in FIG. 2, apparatus 110 may transfer or receive data to/fromserver 250 via network 240. In the disclosed embodiments, the data beingreceived from server 250 and/or computing device 120 may includenumerous different types of information based on the analyzed imagedata, including information related to a commercial product, or aperson's identity, an identified landmark, and any other informationcapable of being stored in or accessed by server 250. In someembodiments, data may be received and transferred via computing device120. Server 250 and/or computing device 120 may retrieve informationfrom different data sources (e.g., a user specific database or a user'ssocial network account or other account, the Internet, and other managedor accessible databases) and provide information to apparatus 110related to the analyzed image data and a recognized trigger according tothe disclosed embodiments. In some embodiments, calendar-relatedinformation retrieved from the different data sources may be analyzed toprovide certain time information or a time-based context for providingcertain information based on the analyzed image data.

An example of wearable apparatus 110 incorporated with glasses 130according to some embodiments (as discussed in connection with FIG. 1A)is shown in greater detail in FIG. 3A. In some embodiments, apparatus110 may be associated with a structure (not shown in FIG. 3A) thatenables easy detaching and reattaching of apparatus 110 to glasses 130.In some embodiments, when apparatus 110 attaches to glasses 130, imagesensor 220 acquires a set aiming direction without the need fordirectional calibration. The set aiming direction of image sensor 220may substantially coincide with the field-of-view of user 100. Forexample, a camera associated with image sensor 220 may be installedwithin apparatus 110 in a predetermined angle in a position facingslightly downwards (e.g., 5-15 degrees from the horizon). Accordingly,the set aiming direction of image sensor 220 may substantially match thefield-of-view of user 100.

FIG. 3B is an exploded view of the components of the embodimentdiscussed regarding FIG. 3A. Attaching apparatus 110 to glasses 130 maytake place in the following way. Initially, a support 310 may be mountedon glasses 130 using a screw 320, in the side of support 310. Then,apparatus 110 may be clipped on support 310 such that it is aligned withthe field-of-view of user 100. The term “support” includes any device orstructure that enables detaching and reattaching of a device including acamera to a pair of glasses or to another object (e.g., a helmet).Support 310 may be made from plastic (e.g., polycarbonate), metal (e.g.,aluminum), or a combination of plastic and metal (e.g., carbon fibergraphite). Support 310 may be mounted on any kind of glasses (e.g.,eyeglasses, sunglasses, 3D glasses, safety glasses, etc.) using screws,bolts, snaps, or any fastening means used in the art.

In some embodiments, support 310 may include a quick release mechanismfor disengaging and reengaging apparatus 110. For example, support 310and apparatus 110 may include magnetic elements. As an alternativeexample, support 310 may include a male latch member and apparatus 110may include a female receptacle. In other embodiments, support 310 canbe an integral part of a pair of glasses, or sold separately andinstalled by an optometrist. For example, support 310 may be configuredfor mounting on the arms of glasses 130 near the frame front, but beforethe hinge. Alternatively, support 310 may be configured for mounting onthe bridge of glasses 130.

In some embodiments, apparatus 110 may be provided as part of a glassesframe 130, with or without lenses. Additionally, in some embodiments,apparatus 110 may be configured to provide an augmented reality displayprojected onto a lens of glasses 130 (if provided), or alternatively,may include a display for projecting time information, for example,according to the disclosed embodiments. Apparatus 110 may include theadditional display or alternatively, may be in communication with aseparately provided display system that may or may not be attached toglasses 130.

In some embodiments, apparatus 110 may be implemented in a form otherthan wearable glasses, as described above with respect to FIGS. 1B-1D,for example. FIG. 4A is a schematic illustration of an example of anadditional embodiment of apparatus 110 from a first viewpoint. Theviewpoint shown in FIG. 4A is from the front of apparatus 110. Apparatus110 includes an image sensor 220, a clip (not shown), a function button(not shown) and a hanging ring 410 for attaching apparatus 110 to, forexample, necklace 140, as shown in FIG. 1B. When apparatus 110 hangs onnecklace 140, the aiming direction of image sensor 220 may not fullycoincide with the field-of-view of user 100, but the aiming directionwould still correlate with the field-of-view of user 100.

FIG. 4B is a schematic illustration of the example of a secondembodiment of apparatus 110, from a second viewpoint. The viewpointshown in FIG. 4B is from a side orientation of apparatus 110. Inaddition to hanging ring 410, as shown in FIG. 4B, apparatus 110 mayfurther include a clip 420. User 100 can use clip 420 to attachapparatus 110 to a shirt or belt 150, as illustrated in FIG. 1C. Clip420 may provide an easy mechanism for disengaging and reengagingapparatus 110 from different articles of clothing. In other embodiments,apparatus 110 may include a female receptacle for connecting with a malelatch of a car mount or universal stand.

In some embodiments, apparatus 110 includes a function button 430 forenabling user 100 to provide input to apparatus 110. Function button 430may accept different types of tactile input (e.g., a tap, a click, adouble-click, a long press, a right-to-left slide, a left-to-rightslide). In some embodiments, each type of input may be associated with adifferent action. For example, a tap may be associated with the functionof taking a picture, while a right-to-left slide may be associated withthe function of recording a video.

The example embodiments discussed above with respect to FIGS. 3A, 3B,4A, and 4B are not limiting. In some embodiments, apparatus 110 may beimplemented in any suitable configuration for performing the disclosedmethods. For example, referring back to FIG. 2, the disclosedembodiments may implement an apparatus 110 according to anyconfiguration including an image sensor 220 and a processor unit 210 toperform image analysis and for communicating with a feedback unit 230.

FIG. 5A is a block diagram illustrating the components of apparatus 110according to an example embodiment. As shown in FIG. 5A, and assimilarly discussed above, apparatus 110 includes an image sensor 220, amemory 550, a processor 210, a feedback outputting unit 230, a wirelesstransceiver 530, and a mobile power source 520. In other embodiments,apparatus 110 may also include buttons, other sensors such as amicrophone, and inertial measurements devices such as accelerometers,gyroscopes, magnetometers, temperature sensors, color sensors, lightsensors, etc. Apparatus 110 may further include a data port 570 and apower connection 510 with suitable interfaces for connecting with anexternal power source or an external device (not shown).

Processor 210, depicted in FIG. 5A, may include any suitable processingdevice. The term “processing device” includes any physical device havingan electric circuit that performs a logic operation on input or inputs.For example, processing device may include one or more integratedcircuits, microchips, microcontrollers, microprocessors, all or part ofa central processing unit (CPU), graphics processing unit (GPU), digitalsignal processor (DSP), field-programmable gate array (FPGA), or othercircuits suitable for executing instructions or performing logicoperations. The instructions executed by the processing device may, forexample, be pre-loaded into a memory integrated with or embedded intothe processing device or may be stored in a separate memory (e.g.,memory 550). Memory 550 may comprise a Random Access Memory (RAM), aRead-Only Memory (ROM), a hard disk, an optical disk, a magnetic medium,a flash memory, other permanent, fixed, or volatile memory, or any othermechanism capable of storing instructions.

Although, in the embodiment illustrated in FIG. 5A, apparatus 110includes one processing device (e.g., processor 210), apparatus 110 mayinclude more than one processing device. Each processing device may havea similar construction, or the processing devices may be of differingconstructions that are electrically connected or disconnected from eachother. For example, the processing devices may be separate circuits orintegrated in a single circuit. When more than one processing device isused, the processing devices may be configured to operate independentlyor collaboratively. The processing devices may be coupled electrically,magnetically, optically, acoustically, mechanically or by other meansthat permit them to interact.

In some embodiments, processor 210 may process a plurality of imagescaptured from the environment of user 100 to determine differentparameters related to capturing subsequent images. For example,processor 210 can determine, based on information derived from capturedimage data, a value for at least one of the following: an imageresolution, a compression ratio, a cropping parameter, frame rate, afocus point, an exposure time, an aperture size, and a lightsensitivity. The determined value may be used in capturing at least onesubsequent image. Additionally, processor 210 can detect imagesincluding at least one hand-related trigger in the environment of theuser and perform an action and/or provide an output of information to auser via feedback outputting unit 230.

In another embodiment, processor 210 can change the aiming direction ofimage sensor 220. For example, when apparatus 110 is attached with clip420, the aiming direction of image sensor 220 may not coincide with thefield-of-view of user 100. Processor 210 may recognize certainsituations from the analyzed image data and adjust the aiming directionof image sensor 220 to capture relevant image data. For example, in oneembodiment, processor 210 may detect an interaction with anotherindividual and sense that the individual is not fully in view, becauseimage sensor 220 is tilted down. Responsive thereto, processor 210 mayadjust the aiming direction of image sensor 220 to capture image data ofthe individual. Other scenarios are also contemplated where processor210 may recognize the need to adjust an aiming direction of image sensor220.

In some embodiments, processor 210 may communicate data tofeedback-outputting unit 230, which may include any device configured toprovide information to a user 100. Feedback outputting unit 230 may beprovided as part of apparatus 110 (as shown) or may be provided externalto apparatus 110 and communicatively coupled thereto.Feedback-outputting unit 230 may be configured to output visual ornonvisual feedback based on signals received from processor 210, such aswhen processor 210 recognizes a hand-related trigger in the analyzedimage data.

The term “feedback” refers to any output or information provided inresponse to processing at least one image in an environment. In someembodiments, as similarly described above, feedback may include anaudible or visible indication of time information, detected text ornumerals, the value of currency, a branded product, a person's identity,the identity of a landmark or other environmental situation or conditionincluding the street names at an intersection or the color of a trafficlight, etc., as well as other information associated with each of these.For example, in some embodiments, feedback may include additionalinformation regarding the amount of currency still needed to complete atransaction, information regarding the identified person, historicalinformation or times and prices of admission etc. of a detected landmarketc. In some embodiments, feedback may include an audible tone, atactile response, and/or information previously recorded by user 100.Feedback-outputting unit 230 may comprise appropriate components foroutputting acoustical and tactile feedback. For example,feedback-outputting unit 230 may comprise audio headphones, a hearingaid type device, a speaker, a bone conduction headphone, interfaces thatprovide tactile cues, vibrotactile stimulators, etc. In someembodiments, processor 210 may communicate signals with an externalfeedback outputting unit 230 via a wireless transceiver 530, a wiredconnection, or some other communication interface. In some embodiments,feedback outputting unit 230 may also include any suitable displaydevice for visually displaying information to user 100.

As shown in FIG. 5A, apparatus 110 includes memory 550. Memory 550 mayinclude one or more sets of instructions accessible to processor 210 toperform the disclosed methods, including instructions for recognizing ahand-related trigger in the image data. In some embodiments memory 550may store image data (e.g., images, videos) captured from theenvironment of user 100. In addition, memory 550 may store informationspecific to user 100, such as image representations of knownindividuals, favorite products, personal items, and calendar orappointment information, etc. In some embodiments, processor 210 maydetermine, for example, which type of image data to store based onavailable storage space in memory 550. In another embodiment, processor210 may extract information from the image data stored in memory 550.

As further shown in FIG. 5A, apparatus 110 includes mobile power source520. The term “mobile power source” includes any device capable ofproviding electrical power, which can be easily carried by hand (e.g.,mobile power source 520 may weigh less than a pound). The mobility ofthe power source enables user 100 to use apparatus 110 in a variety ofsituations. In some embodiments, mobile power source 520 may include oneor more batteries (e.g., nickel-cadmium batteries, nickel-metal hydridebatteries, and lithium-ion batteries) or any other type of electricalpower supply. In other embodiments, mobile power source 520 may berechargeable and contained within a casing that holds apparatus 110. Inyet other embodiments, mobile power source 520 may include one or moreenergy harvesting devices for converting ambient energy into electricalenergy (e.g., portable solar power units, human vibration units, etc.).

Mobile power source 520 may power one or more wireless transceivers(e.g., wireless transceiver 530 in FIG. 5A). The term “wirelesstransceiver” refers to any device configured to exchange transmissionsover an air interface by use of radio frequency, infrared frequency,magnetic field, or electric field. Wireless transceiver 530 may use anyknown standard to transmit and/or receive data (e.g., Wi-Fi, Bluetooth®,Bluetooth Smart, 802.15.4, or ZigBee). In some embodiments, wirelesstransceiver 530 may transmit data (e.g., raw image data, processed imagedata, extracted information) from apparatus 110 to computing device 120and/or server 250. Wireless transceiver 530 may also receive data fromcomputing device 120 and/or server 250. In other embodiments, wirelesstransceiver 530 may transmit data and instructions to an externalfeedback outputting unit 230.

FIG. 5B is a block diagram illustrating the components of apparatus 110according to another example embodiment. In some embodiments, apparatus110 includes a first image sensor 220 a, a second image sensor 220 b, amemory 550, a first processor 210 a, a second processor 210 b, afeedback outputting unit 230, a wireless transceiver 530, a mobile powersource 520, and a power connector 510. In the arrangement shown in FIG.5B, each of the image sensors may provide images in a different imageresolution, or face a different direction. Alternatively, each imagesensor may be associated with a different camera (e.g., a wide anglecamera, a narrow angle camera, an IR camera, etc.). In some embodiments,apparatus 110 can select which image sensor to use based on variousfactors. For example, processor 210 a may determine, based on availablestorage space in memory 550, to capture subsequent images in a certainresolution.

Apparatus 110 may operate in a first processing-mode and in a secondprocessing-mode, such that the first processing-mode may consume lesspower than the second processing-mode. For example, in the firstprocessing-mode, apparatus 110 may capture images and process thecaptured images to make real-time decisions based on an identifyinghand-related trigger, for example. In the second processing-mode,apparatus 110 may extract information from stored images in memory 550and delete images from memory 550. In some embodiments, mobile powersource 520 may provide more than fifteen hours of processing in thefirst processing-mode and about three hours of processing in the secondprocessing-mode. Accordingly, different processing-modes may allowmobile power source 520 to produce sufficient power for poweringapparatus 110 for various time periods (e.g., more than two hours, morethan four hours, more than ten hours, etc.).

In some embodiments, apparatus 110 may use first processor 210 a in thefirst processing-mode when powered by mobile power source 520, andsecond processor 210 b in the second processing-mode when powered byexternal power source 580 that is connectable via power connector 510.In other embodiments, apparatus 110 may determine, based on predefinedconditions, which processors or which processing modes to use. Apparatus110 may operate in the second processing-mode even when apparatus 110 isnot powered by external power source 580. For example, apparatus 110 maydetermine that it should operate in the second processing-mode whenapparatus 110 is not powered by external power source 580, if theavailable storage space in memory 550 for storing new image data islower than a predefined threshold.

Although one wireless transceiver is depicted in FIG. 5B, apparatus 110may include more than one wireless transceiver (e.g., two wirelesstransceivers). In an arrangement with more than one wirelesstransceiver, each of the wireless transceivers may use a differentstandard to transmit and/or receive data. In some embodiments, a firstwireless transceiver may communicate with server 250 or computing device120 using a cellular standard (e.g., LTE or GSM), and a second wirelesstransceiver may communicate with server 250 or computing device 120using a short-range standard (e.g., Wi-Fi or Bluetooth®). In someembodiments, apparatus 110 may use the first wireless transceiver whenthe wearable apparatus is powered by a mobile power source included inthe wearable apparatus, and use the second wireless transceiver when thewearable apparatus is powered by an external power source.

FIG. 5C is a block diagram illustrating the components of apparatus 110according to another example embodiment including computing device 120.In this embodiment, apparatus 110 includes an image sensor 220, a memory550 a, a first processor 210, a feedback-outputting unit 230, a wirelesstransceiver 530 a, a mobile power source 520, and a power connector 510.As further shown in FIG. 5C, computing device 120 includes a processor540, a feedback-outputting unit 545, a memory 550 b, a wirelesstransceiver 530 b, and a display 260. One example of computing device120 is a smartphone or tablet having a dedicated application installedtherein. In other embodiments, computing device 120 may include anyconfiguration such as an on-board automobile computing system, a PC, alaptop, and any other system consistent with the disclosed embodiments.In this example, user 100 may view feedback output in response toidentification of a hand-related trigger on display 260. Additionally,user 100 may view other data (e.g., images, video clips, objectinformation, schedule information, extracted information, etc.) ondisplay 260. In addition, user 100 may communicate with server 250 viacomputing device 120.

In some embodiments, processor 210 and processor 540 are configured toextract information from captured image data. The term “extractinginformation” includes any process by which information associated withobjects, individuals, locations, events, etc., is identified in thecaptured image data by any means known to those of ordinary skill in theart. In some embodiments, apparatus 110 may use the extractedinformation to send feedback or other real-time indications to feedbackoutputting unit 230 or to computing device 120. In some embodiments,processor 210 may identify in the image data the individual standing infront of user 100, and send computing device 120 the name of theindividual and the last time user 100 met the individual. In anotherembodiment, processor 210 may identify in the image data, one or morevisible triggers, including a hand-related trigger, and determinewhether the trigger is associated with a person other than the user ofthe wearable apparatus to selectively determine whether to perform anaction associated with the trigger. One such action may be to provide afeedback to user 100 via feedback-outputting unit 230 provided as partof (or in communication with) apparatus 110 or via a feedback unit 545provided as part of computing device 120. For example,feedback-outputting unit 545 may be in communication with display 260 tocause the display 260 to visibly output information. In someembodiments, processor 210 may identify in the image data a hand-relatedtrigger and send computing device 120 an indication of the trigger.Processor 540 may then process the received trigger information andprovide an output via feedback outputting unit 545 or display 260 basedon the hand-related trigger. In other embodiments, processor 540 maydetermine a hand-related trigger and provide suitable feedback similarto the above, based on image data received from apparatus 110. In someembodiments, processor 540 may provide instructions or otherinformation, such as environmental information to apparatus 110 based onan identified hand-related trigger.

In some embodiments, processor 210 may identify other environmentalinformation in the analyzed images, such as an individual standing infront user 100, and send computing device 120 information related to theanalyzed information such as the name of the individual and the lasttime user 100 met the individual. In a different embodiment, processor540 may extract statistical information from captured image data andforward the statistical information to server 250. For example, certaininformation regarding the types of items a user purchases, or thefrequency a user patronizes a particular merchant, etc. may bedetermined by processor 540. Based on this information, server 250 maysend computing device 120 coupons and discounts associated with theuser's preferences.

When apparatus 110 is connected or wirelessly connected to computingdevice 120, apparatus 110 may transmit at least part of the image datastored in memory 550 a for storage in memory 550 b. In some embodiments,after computing device 120 confirms that transferring the part of imagedata was successful, processor 540 may delete the part of the imagedata. The term “delete” means that the image is marked as ‘deleted’ andother image data may be stored instead of it, but does not necessarilymean that the image data was physically removed from the memory.

As will be appreciated by a person skilled in the art having the benefitof this disclosure, numerous variations and/or modifications may be madeto the disclosed embodiments. Not all components are essential for theoperation of apparatus 110. Any component may be located in anyappropriate apparatus and the components may be rearranged into avariety of configurations while providing the functionality of thedisclosed embodiments. For example, in some embodiments, apparatus 110may include a camera, a processor, and a wireless transceiver forsending data to another device. Therefore, the foregoing configurationsare examples and, regardless of the configurations discussed above,apparatus 110 can capture, store, and/or process images.

Further, the foregoing and following description refers to storingand/or processing images or image data. In the embodiments disclosedherein, the stored and/or processed images or image data may comprise arepresentation of one or more images captured by image sensor 220. Asthe term is used herein, a “representation” of an image (or image data)may include an entire image or a portion of an image. A representationof an image (or image data) may have the same resolution or a lowerresolution as the image (or image data), and/or a representation of animage (or image data) may be altered in some respect (e.g., becompressed, have a lower resolution, have one or more colors that arealtered, etc.).

For example, apparatus 110 may capture an image and store arepresentation of the image that is compressed as a .JPG file. Asanother example, apparatus 110 may capture an image in color, but storea black-and-white representation of the color image. As yet anotherexample, apparatus 110 may capture an image and store a differentrepresentation of the image (e.g., a portion of the image). For example,apparatus 110 may store a portion of an image that includes a face of aperson who appears in the image, but that does not substantially includethe environment surrounding the person. Similarly, apparatus 110 may,for example, store a portion of an image that includes a product thatappears in the image, but does not substantially include the environmentsurrounding the product. As yet another example, apparatus 110 may storea representation of an image at a reduced resolution (i.e., at aresolution that is of a lower value than that of the captured image).Storing representations of images may allow apparatus 110 to savestorage space in memory 550. Furthermore, processing representations ofimages may allow apparatus 110 to improve processing efficiency and/orhelp to preserve battery life.

In addition to the above, in some embodiments, any one of apparatus 110or computing device 120, via processor 210 or 540, may further processthe captured image data to provide additional functionality to recognizeobjects and/or gestures and/or other information in the captured imagedata. In some embodiments, actions may be taken based on the identifiedobjects, gestures, or other information. In some embodiments, processor210 or 540 may identify in the image data, one or more visible triggers,including a hand-related trigger, and determine whether the trigger isassociated with a person other than the user to determine whether toperform an action associated with the trigger.

Some embodiments of the present disclosure may include an apparatussecurable to an article of clothing of a user. Such an apparatus mayinclude two portions, connectable by a connector. A capturing unit maybe designed to be worn on the outside of a user's clothing, and mayinclude an image sensor for capturing images of a user's environment.The capturing unit may be connected to or connectable to a power unit,which may be configured to house a power source and a processing device.The capturing unit may be a small device including a camera or otherdevice for capturing images. The capturing unit may be designed to beinconspicuous and unobtrusive, and may be configured to communicate witha power unit concealed by a user's clothing. The power unit may includebulkier aspects of the system, such as transceiver antennas, at leastone battery, a processing device, etc. In some embodiments,communication between the capturing unit and the power unit may beprovided by a data cable included in the connector, while in otherembodiments, communication may be wirelessly achieved between thecapturing unit and the power unit. Some embodiments may permitalteration of the orientation of an image sensor of the capture unit,for example to better capture images of interest.

FIG. 6 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure. Included inmemory 550 are orientation identification module 601, orientationadjustment module 602, and motion tracking module 603. Modules 601, 602,603 may contain software instructions for execution by at least oneprocessing device, e.g., processor 210, included with a wearableapparatus. Orientation identification module 601, orientation adjustmentmodule 602, and motion tracking module 603 may cooperate to provideorientation adjustment for a capturing unit incorporated into wirelessapparatus 110.

FIG. 7 illustrates an exemplary capturing unit 710 including anorientation adjustment unit 705. Orientation adjustment unit 705 may beconfigured to permit the adjustment of image sensor 220. As illustratedin FIG. 7, orientation adjustment unit 705 may include an eye-ball typeadjustment mechanism. In alternative embodiments, orientation adjustmentunit 705 may include gimbals, adjustable stalks, pivotable mounts, andany other suitable unit for adjusting an orientation of image sensor220.

Image sensor 220 may be configured to be movable with the head of user100 in such a manner that an aiming direction of image sensor 220substantially coincides with a field of view of user 100. For example,as described above, a camera associated with image sensor 220 may beinstalled within capturing unit 710 at a predetermined angle in aposition facing slightly upwards or downwards, depending on an intendedlocation of capturing unit 710. Accordingly, the set aiming direction ofimage sensor 220 may match the field-of-view of user 100. In someembodiments, processor 210 may change the orientation of image sensor220 using image data provided from image sensor 220. For example,processor 210 may recognize that a user is reading a book and determinethat the aiming direction of image sensor 220 is offset from the text.That is, because the words in the beginning of each line of text are notfully in view, processor 210 may determine that image sensor 220 istilted in the wrong direction. Responsive thereto, processor 210 mayadjust the aiming direction of image sensor 220.

Orientation identification module 601 may be configured to identify anorientation of an image sensor 220 of capturing unit 710. An orientationof an image sensor 220 may be identified, for example, by analysis ofimages captured by image sensor 220 of capturing unit 710, by tilt orattitude sensing devices within capturing unit 710, and by measuring arelative direction of orientation adjustment unit 705 with respect tothe remainder of capturing unit 710.

Orientation adjustment module 602 may be configured to adjust anorientation of image sensor 220 of capturing unit 710. As discussedabove, image sensor 220 may be mounted on an orientation adjustment unit705 configured for movement. Orientation adjustment unit 705 may beconfigured for rotational and/or lateral movement in response tocommands from orientation adjustment module 602. In some embodimentsorientation adjustment unit 705 may be adjust an orientation of imagesensor 220 via motors, electromagnets, permanent magnets, and/or anysuitable combination thereof.

In some embodiments, monitoring module 603 may be provided forcontinuous monitoring. Such continuous monitoring may include tracking amovement of at least a portion of an object included in one or moreimages captured by the image sensor. For example, in one embodiment,apparatus 110 may track an object as long as the object remainssubstantially within the field-of-view of image sensor 220. Inadditional embodiments, monitoring module 603 may engage orientationadjustment module 602 to instruct orientation adjustment unit 705 tocontinually orient image sensor 220 towards an object of interest. Forexample, in one embodiment, monitoring module 603 may cause image sensor220 to adjust an orientation to ensure that a certain designated object,for example, the face of a particular person, remains within thefield-of view of image sensor 220, even as that designated object movesabout. In another embodiment, monitoring module 603 may continuouslymonitor an area of interest included in one or more images captured bythe image sensor. For example, a user may be occupied by a certain task,for example, typing on a laptop, while image sensor 220 remains orientedin a particular direction and continuously monitors a portion of eachimage from a series of images to detect a trigger or other event. Forexample, image sensor 210 may be oriented towards a piece of laboratoryequipment and monitoring module 603 may be configured to monitor astatus light on the laboratory equipment for a change in status, whilethe user's attention is otherwise occupied.

In some embodiments consistent with the present disclosure, capturingunit 710 may include a plurality of image sensors 220. The plurality ofimage sensors 220 may each be configured to capture different imagedata. For example, when a plurality of image sensors 220 are provided,the image sensors 220 may capture images having different resolutions,may capture wider or narrower fields of view, and may have differentlevels of magnification. Image sensors 220 may be provided with varyinglenses to permit these different configurations. In some embodiments, aplurality of image sensors 220 may include image sensors 220 havingdifferent orientations. Thus, each of the plurality of image sensors 220may be pointed in a different direction to capture different images. Thefields of view of image sensors 220 may be overlapping in someembodiments. The plurality of image sensors 220 may each be configuredfor orientation adjustment, for example, by being paired with an imageadjustment unit 705. In some embodiments, monitoring module 603, oranother module associated with memory 550, may be configured toindividually adjust the orientations of the plurality of image sensors220 as well as to turn each of the plurality of image sensors 220 on oroff as may be required. In some embodiments, monitoring an object orperson captured by an image sensor 220 may include tracking movement ofthe object across the fields of view of the plurality of image sensors220.

Embodiments consistent with the present disclosure may includeconnectors configured to connect a capturing unit and a power unit of awearable apparatus. Capturing units consistent with the presentdisclosure may include least one image sensor configured to captureimages of an environment of a user. Power units consistent with thepresent disclosure may be configured to house a power source and/or atleast one processing device. Connectors consistent with the presentdisclosure may be configured to connect the capturing unit and the powerunit, and may be configured to secure the apparatus to an article ofclothing such that the capturing unit is positioned over an outersurface of the article of clothing and the power unit is positionedunder an inner surface of the article of clothing. Exemplary embodimentsof capturing units, connectors, and power units consistent with thedisclosure are discussed in further detail with respect to FIGS. 8-14.

FIG. 8 is a schematic illustration of an embodiment of wearableapparatus 110 securable to an article of clothing consistent with thepresent disclosure. As illustrated in FIG. 8, capturing unit 710 andpower unit 720 may be connected by a connector 730 such that capturingunit 710 is positioned on one side of an article of clothing 750 andpower unit 720 is positioned on the opposite side of the clothing 750.In some embodiments, capturing unit 710 may be positioned over an outersurface of the article of clothing 750 and power unit 720 may be locatedunder an inner surface of the article of clothing 750. The power unit720 may be configured to be placed against the skin of a user.

Capturing unit 710 may include an image sensor 220 and an orientationadjustment unit 705 (as illustrated in FIG. 7). Power unit 720 mayinclude mobile power source 520 and processor 210. Power unit 720 mayfurther include any combination of elements previously discussed thatmay be a part of wearable apparatus 110, including, but not limited to,wireless transceiver 530, feedback outputting unit 230, memory 550, anddata port 570.

Connector 730 may include a clip 715 or other mechanical connectiondesigned to clip or attach capturing unit 710 and power unit 720 to anarticle of clothing 750 as illustrated in FIG. 8. As illustrated, clip715 may connect to each of capturing unit 710 and power unit 720 at aperimeter thereof, and may wrap around an edge of the article ofclothing 750 to affix the capturing unit 710 and power unit 720 inplace. Connector 730 may further include a power cable 760 and a datacable 770. Power cable 760 may be capable of conveying power from mobilepower source 520 to image sensor 220 of capturing unit 710. Power cable760 may also be configured to provide power to any other elements ofcapturing unit 710, e.g., orientation adjustment unit 705. Data cable770 may be capable of conveying captured image data from image sensor220 in capturing unit 710 to processor 800 in the power unit 720. Datacable 770 may be further capable of conveying additional data betweencapturing unit 710 and processor 800, e.g., control instructions fororientation adjustment unit 705.

FIG. 9 is a schematic illustration of a user 100 wearing a wearableapparatus 110 consistent with an embodiment of the present disclosure.As illustrated in FIG. 9, capturing unit 710 is located on an exteriorsurface of the clothing 750 of user 100. Capturing unit 710 is connectedto power unit 720 (not seen in this illustration) via connector 730,which wraps around an edge of clothing 750.

In some embodiments, connector 730 may include a flexible printedcircuit board (PCB). FIG. 10 illustrates an exemplary embodiment whereinconnector 730 includes a flexible printed circuit board 765. Flexibleprinted circuit board 765 may include data connections and powerconnections between capturing unit 710 and power unit 720. Thus, in someembodiments, flexible printed circuit board 765 may serve to replacepower cable 760 and data cable 770. In alternative embodiments, flexibleprinted circuit board 765 may be included in addition to at least one ofpower cable 760 and data cable 770. In various embodiments discussedherein, flexible printed circuit board 765 may be substituted for, orincluded in addition to, power cable 760 and data cable 770.

FIG. 11 is a schematic illustration of another embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure. As illustrated in FIG. 11, connector 730 may becentrally located with respect to capturing unit 710 and power unit 720.Central location of connector 730 may facilitate affixing apparatus 110to clothing 750 through a hole in clothing 750 such as, for example, abutton-hole in an existing article of clothing 750 or a specialty holein an article of clothing 750 designed to accommodate wearable apparatus110.

FIG. 12 is a schematic illustration of still another embodiment ofwearable apparatus 110 securable to an article of clothing. Asillustrated in FIG. 12, connector 730 may include a first magnet 731 anda second magnet 732. First magnet 731 and second magnet 732 may securecapturing unit 710 to power unit 720 with the article of clothingpositioned between first magnet 731 and second magnet 732. Inembodiments including first magnet 731 and second magnet 732, powercable 760 and data cable 770 may also be included. In these embodiments,power cable 760 and data cable 770 may be of any length, and may providea flexible power and data connection between capturing unit 710 andpower unit 720. Embodiments including first magnet 731 and second magnet732 may further include a flexible PCB 765 connection in addition to orinstead of power cable 760 and/or data cable 770.

FIG. 13 is a schematic illustration of yet another embodiment of awearable apparatus 110 securable to an article of clothing. FIG. 13illustrates an embodiment wherein power and data may be wirelesslytransferred between capturing unit 710 and power unit 720. Asillustrated in FIG. 13, first magnet 731 and second magnet 732 may beprovided as connector 730 to secure capturing unit 710 and power unit720 to an article of clothing 750. Power and/or data may be transferredbetween capturing unit 710 and power unit 720 via any suitable wirelesstechnology, for example, magnetic and/or capacitive coupling, near fieldcommunication technologies, radiofrequency transfer, and any otherwireless technology suitable for transferring data and/or power acrossshort distances.

FIG. 14 illustrates still another embodiment of wearable apparatus 110securable to an article of clothing 750 of a user. As illustrated inFIG. 14, connector 730 may include features designed for a contact fit.For example, capturing unit 710 may include a ring 733 with a hollowcenter having a diameter slightly larger than a disk-shaped protrusion734 located on power unit 720. When pressed together with fabric of anarticle of clothing 750 between them, disk-shaped protrusion 734 may fittightly inside ring 733, securing capturing unit 710 to power unit 720.FIG. 14 illustrates an embodiment that does not include any cabling orother physical connection between capturing unit 710 and power unit 720.In this embodiment, capturing unit 710 and power unit 720 may transferpower and data wirelessly. In alternative embodiments, capturing unit710 and power unit 720 may transfer power and data via at least one ofcable 760, data cable 770, and flexible printed circuit board 765.

FIG. 15 illustrates another aspect of power unit 720 consistent withembodiments described herein. Power unit 720 may be configured to bepositioned directly against the user's skin. To facilitate suchpositioning, power unit 720 may further include at least one surfacecoated with a biocompatible material 740. Biocompatible materials 740may include materials that will not negatively react with the skin ofthe user when worn against the skin for extended periods of time. Suchmaterials may include, for example, silicone, PTFE, kapton, polyimide,titanium, nitinol, platinum, and others. Also as illustrated in FIG. 15,power unit 720 may be sized such that an inner volume of the power unitis substantially filled by mobile power source 520. That is, in someembodiments, the inner volume of power unit 720 may be such that thevolume does not accommodate any additional components except for mobilepower source 520. In some embodiments, mobile power source 520 may takeadvantage of its close proximity to the skin of user's skin. Forexample, mobile power source 520 may use the Peltier effect to producepower and/or charge the power source.

In further embodiments, an apparatus securable to an article of clothingmay further include protective circuitry associated with mobile powersource 520 housed in in power unit 720. FIG. 16 illustrates an exemplaryembodiment including protective circuitry 775. As illustrated in FIG.16, protective circuitry 775 may be located remotely with respect topower unit 720. In alternative embodiments, protective circuitry 775 mayalso be located in capturing unit 710, on flexible printed circuit board765, or in power unit 720.

Protective circuitry 775 may be configured to protect image sensor 220and/or other elements of capturing unit 710 from potentially dangerouscurrents and/or voltages produced by mobile power source 520. Protectivecircuitry 775 may include passive components such as capacitors,resistors, diodes, inductors, etc., to provide protection to elements ofcapturing unit 710. In some embodiments, protective circuitry 775 mayalso include active components, such as transistors, to provideprotection to elements of capturing unit 710. For example, in someembodiments, protective circuitry 775 may comprise one or more resistorsserving as fuses. Each fuse may comprise a wire or strip that melts(thereby braking a connection between circuitry of image capturing unit710 and circuitry of power unit 720) when current flowing through thefuse exceeds a predetermined limit (e.g., 500 milliamps, 900 milliamps,1 amp, 1.1 amps, 2 amp, 2.1 amps, 3 amps, etc.) Any or all of thepreviously described embodiments may incorporate protective circuitry775.

In some embodiments, the wearable apparatus may transmit data to acomputing device (e.g., a smartphone, tablet, smartwatch, computer,etc.) over one or more networks via any known wireless standard (e.g.,cellular, Wi-Fi, Bluetooth®, etc.), or via near-filed capacitivecoupling, other short range wireless techniques, or via a wiredconnection. Similarly, the wearable apparatus may receive data from thecomputing device over one or more networks via any known wirelessstandard (e.g., cellular, Wi-Fi, Bluetooth®, etc.), or via near-filedcapacitive coupling, other short range wireless techniques, or via awired connection. The data transmitted to the wearable apparatus and/orreceived by the wireless apparatus may include images, portions ofimages, identifiers related to information appearing in analyzed imagesor associated with analyzed audio, or any other data representing imageand/or audio data. For example, an image may be analyzed and anidentifier related to an activity occurring in the image may betransmitted to the computing device (e.g., the “paired device”). In theembodiments described herein, the wearable apparatus may process imagesand/or audio locally (on board the wearable apparatus) and/or remotely(via a computing device). Further, in the embodiments described herein,the wearable apparatus may transmit data related to the analysis ofimages and/or audio to a computing device for further analysis, display,and/or transmission to another device (e.g., a paired device). Further,a paired device may execute one or more applications (apps) to process,display, and/or analyze data (e.g., identifiers, text, images, audio,etc.) received from the wearable apparatus.

Some embodiments of the present application may involve systems,methods, and software products for determining at least one keyword. Forexample, at least one keyword may be determining based on data collectedby apparatus 110. At least one search query may be determined based onthe at least one keyword. The at least one search query may betransmitted to a search engine.

In some embodiments, at least one keyword may be determined based on atleast one or more images captured by image sensor 220. In some cases,the at least one keyword may be selected from a keywords pool stored inmemory. In some cases, optical character recognition (OCR) may beperformed on at least one image captured by image sensor 220, and the atleast one keyword may be determined based on the OCR result. In somecases, at least one image captured by image sensor 220 may be analyzedto recognize: a person, an object, a location, a scene, and so forth.Further, the at least one keyword may be determined based on therecognized person, object, location, scene, etc. For example, the atleast one keyword may comprise: a person's name, an object's name, aplace's name, a date, a sport team's name, a movie's name, a book'sname, and so forth.

In some embodiments, at least one keyword may be determined based on theuser's behavior. The user's behavior may be determined based on ananalysis of the one or more images captured by image sensor 220. In someembodiments, at least one keyword may be determined based on activitiesof a user and/or other person. The one or more images captured by imagesensor 220 may be analyzed to identify the activities of the user and/orthe other person who appears in one or more images captured by imagesensor 220. In some embodiments, at least one keyword may be determinedbased on at least one or more audio segments captured by apparatus 110.In some embodiments, at least one keyword may be determined based on atleast GPS information associated with the user. In some embodiments, atleast one keyword may be determined based on at least the current timeand/or date.

In some embodiments, at least one search query may be determined basedon at least one keyword. In some cases, the at least one search querymay comprise the at least one keyword. In some cases, the at least onesearch query may comprise the at least one keyword and additionalkeywords provided by the user. In some cases, the at least one searchquery may comprise the at least one keyword and one or more images, suchas images captured by image sensor 220. In some cases, the at least onesearch query may comprise the at least one keyword and one or more audiosegments, such as audio segments captured by apparatus 110.

In some embodiments, the at least one search query may be transmitted toa search engine. In some embodiments, search results provided by thesearch engine in response to the at least one search query may beprovided to the user. In some embodiments, the at least one search querymay be used to access a database.

For example, in one embodiment, the keywords may include a name of atype of food, such as quinoa, or a brand name of a food product; and thesearch will output information related to desirable quantities ofconsumption, facts about the nutritional profile, and so forth. Inanother example, in one embodiment, the keywords may include a name of arestaurant, and the search will output information related to therestaurant, such as a menu, opening hours, reviews, and so forth. Thename of the restaurant may be obtained using OCR on an image of signage,using GPS information, and so forth. In another example, in oneembodiment, the keywords may include a name of a person, and the searchwill provide information from a social network profile of the person.The name of the person may be obtained using OCR on an image of a nametag attached to the person's shirt, using face recognition algorithms,and so forth. In another example, in one embodiment, the keywords mayinclude a name of a book, and the search will output information relatedto the book, such as reviews, sales statistics, information regardingthe author of the book, and so forth. In another example, in oneembodiment, the keywords may include a name of a movie, and the searchwill output information related to the movie, such as reviews, boxoffice statistics, information regarding the cast of the movie,showtimes, and so forth. In another example, in one embodiment, thekeywords may include a name of a sport team, and the search will outputinformation related to the sport team, such as statistics, latestresults, future schedule, information regarding the players of the sportteam, and so forth. For example, the name of the sport team may beobtained using audio recognition algorithms.

Personalized Content Selection Based on a User's Behavior

Some embodiments of the present application may involve systems,methods, and software products for selecting content for a user of awearable apparatus based on the user's behavior. As used herein, theterm “content” includes any data, media, substance, or material suitablefor conveying information that is useful, pertinent, or relevant to auser. Exemplary contents may include an advertisement, a promotion forsales, a recommendation or review of services or products, an article orany form of text, an image, an audio work, a video clip, a sign, asignal of notification or alert, or any other suitable form ofinformation that can be sensed or experienced by the user.

Some embodiments may analyze data collected by apparatus 110 todetermine the behavior of a user, e.g., user 100. As used herein, theterm “behavior” refers to the way in which user 100 acts or conductshim/herself, including a regular or normal practice of tendency (e.g., ahabit), interaction with others, a pattern or way of work, life, eating,drinking, moving, driving, exercising, entertaining, etc. In some cases,a user's behavior may also include acts or conducts that are irregularor abnormal.

Some embodiments may select content based on the determined userbehavior, and the selected content may be personalized to the user. Thepersonalized content may be selected from a pool of various contentsthat may be supplied by various content providers. The content selectionmay be based on one or more user behaviors that are determined fromanalyzing data collected (e.g., by wearable apparatus 110) for aparticular user (e.g., user 100) such that the selected content may beof particular relevance to the user or may match a particular interestof the user. Thus, the term “personalized content” refers to contentundergone such a selection process such that the selected content mayhave an enhanced value to a particular user.

In some embodiments, personalized content selection may be achievedusing system 200, as previously shown in FIG. 2 and reproduced in FIG.17A. FIG. 17A is similar to FIG. 2 and includes all the features of FIG.2, with the only difference being the addition of an audio sensor 1702depicted in apparatus 110. Adding audio sensor 1702 in FIG. 17A is onlyfor the ease of description and reference. It does not imply that thesystem shown in FIG. 2 does not include such an audio sensor or thataudio sensor 1702 is a necessary component in the system shown in FIG.17A. As described above in connection with FIG. 5A, other sensorsincluding a microphone (e.g., an example of audio sensor 1702) may beincluded in apparatus 110. On the other hand, some embodiments may omitaudio sensor 1702.

FIG. 17B is a block diagram illustrating components of apparatus 110according to an exemplary embodiment. FIG. 17B is similar to FIG. 5C andincludes all the features of FIG. 5C, with the only different being theaddition of audio sensor 1702 in the figure. Again, adding audio sensor1702 in FIG. 17B is only for the ease of description and reference. Itdoes not imply that the system shown in FIG. 5C does not include such anaudio sensor or that audio sensor 1702 is a necessary component in thesystem shown in FIG. 17B.

Audio sensor 1702 may also be similarly added to FIGS. 5A and 5B.However, because the interaction between audio sensor 1702 and processor210 (as in FIG. 5A) or between audio sensor 1702 and processor(s) 210a/210 b (as in FIG. 5B) is similar to the interaction between audiosensor 1702 and processor 210 in FIG. 17B, figures showing audio sensor1702 being added to FIGS. 5A and 5B are omitted.

Referring back to FIG. 17A, system 200 may be configured to selectcontent for user 100 based on the user's behavior determined based onanalysis of information collected by wearable apparatus 110. Asdescribed above, wearable apparatus 110 may be worn by user 100 invarious ways. Wearable apparatus 110 may collect data in the environmentof user 100, such as capturing images, recording sound, etc. Thecollected data, which may or may not be preprocessed by apparatus 110,may be transmitted to computing device 120, which may be paired withwearable apparatus 110 through a wired or wireless communication link.Computing device 120 may analyze the received data, alone or incombination with server 250 through network 240, to identify data thatdepict a behavior of user 100, to determine information associated withthe identified data depicting the behavior of user 100, and/or to selectat least one content item based on the determined information. Thecontent item may be selected from a content pool stored in computingdevice 120 and/or server 250, and may be displayed on display 260.

Referring to FIG. 17B, wearable apparatus 110 may establish wirelesscommunication (also referred to as wireless pairing) with computingdevice 120 (also referred to as a paired device or an external device).As described above, computing device 120 may include one or moresmartphones, one or more tablets, one or more smartwatches, or acombination thereof. In some embodiments, wearable apparatus 110 andcomputing device 120 may be paired through a short range communicationlink such as Bluetooth, WiFi, etc. In some embodiments, wearableapparatus 110 may be connected to network 240 and communicate withcomputing device 120 and/or server 250 through network 240. For example,wireless pairing may be established via communication between wirelesstransceiver 530 a in wearable apparatus 110 and wireless transceiver 530b in computing device 120. Wireless transceiver 530 a may act as atransmitter to send image and/or sound data captured by image sensor 220and/or audio sensor 1702 to wireless transceiver 530 b, which may act asa receiver, for processing and analysis by computing device 120, aloneor in combination with server 250. In some embodiments, wirelesstransceiver 530 a may transmit information associated with the capturedimage/sound data to computing device 120. In some embodiments, after acontent item is selected by computing device 120, the selected contentitem may be transmitted by wireless transceiver 530 b, which may act asa transmitter, to wireless transceiver 530 a, which may act as areceiver. The content item may then be output to user 100 throughfeedback outputting unit 230.

In some embodiments, wearable apparatus 110 may be configured to collectdata (e.g., image and/or audio data) and transmit the collected data tocomputing device 120 and/or server 250 without preprocessing the data.For example, processor 210 may control image sensor 220 to capture aplurality of images and/or control audio sensor 1702 to record sound.Then, processor 210 may control wireless transceiver 530 a to transmitthe captured images/sound data, and/or information associated with theimages/sound, to computing device 120 and/or server 250 for analysiswithout performing preprocessing or analysis using the computationalpower of processor 210. In some embodiments, processor 210 may performlimited preprocessing on the collected data, such as identifying triggerin the images, performing optical character recognition (OCR),compressing the image/sound data, sampling the image/sound data,identifying user behavior related images/sound, etc. The preprocesseddata may then be transmitted to computing device 120 and/or server forfurther analysis. In some embodiments, processor 210 may perform userbehavior analysis onsite. For example, processor 210 may analyze thedata captured by image sensor 220 and/or audio sensor 1702 to identifythe image/sound data that depict a behavior of user 100. For example,the image data depicting the behavior of user 100 may include two ormore images. Processor 210 may then determine information associatedwith the identified image/sound data and select one or more contentitems based on the information. The one or more content items may beselected from a content pool stored in memory 550 a of wearableapparatus 110, in memory 550 b of computing device 120, and/or in server250. The selected content item(s) may then be output to user 100 throughfeedback outputting unit 230 of apparatus 110, through display 260 ofcomputing device 120, and/or through feedback outputting unit 545 ofcomputing device 120.

In some embodiments, computing device 120 may be configured to performsome or all tasks for selecting personalized content based on userbehavior determination. For example, wearable apparatus 110 may transmitimage/sound data, either unprocessed or preprocessed, to computingdevice 120. After receiving the data, processor 540 may analyze the datato identify, for example, one or more images that depict a behavior ofuser 100. In some embodiments, processor 540 may identify two or moreimages that depict the behavior of user 100. Processor 540 may thendetermine, based on the analysis, information associated with the one ormore images. The information may include a scene, a person, an object, atrigger, etc. that is included in the image(s). The information may alsoinclude the time and/or location of capturing the image(s). Theinformation may also include historical data relating to the behaviordepicted in the image(s). Other suitable information relating to theuser behavior may also be determined. Based on the information,processor 540 may select at least one content item. The content item mayinclude an advertisement, a promotion (e.g., a coupon), a recommendationof product(s)/service(s), etc. In some cases, the content item may beselected from a content pool stored in memory 550 b and/or in server250. In some cases, a parameter of the content item may be selected.Examples of such a parameter include: a time, a location, a quantity, adiscount amount, and so forth.

As described above, one or more tasks for selecting personalized contentmay also be performed by server 250 and/or wearable apparatus 110. Taskssuch as image/sound data analysis, information determination, andcontent selection, may be divided among wearable apparatus 110,computing device 120, and server 250 in any suitable manner. In someembodiments, two or more devices (110, 120, and/or 250) may alsocollaboratively perform any one task. For example, wearable apparatus110 may preprocess the captured image data, select a plurality of imagesthat are likely related to the behavior(s) of user 100, and transmit theplurality of images to computing device 120. Computing device 120 mayanalyze the plurality of images to identify one or more images thatdepict a behavior of the user, and transmit the identified one or moreimages to server 250. Server 250 may determine user behavior relatedinformation based on the one or more images, select at least one contentitem from a content depository based on the information, and transmitthe selected content item to computing device 120.

In another example, after identifying the one or more images depictingthe user behavior, computing device 120 may determine user behaviorrelated information and send the information to server 250. Server 250may select at least one content item based on the received informationand transmit the selected content item to computing device 120. Thereare various ways of distributing and dividing tasks or subtasks amongwearable apparatus 110, computing device 120, and server 250. Regardlessof which task or subtask is performed by which device, any suitableallocation of computation power among the devices for performing theabove-described tasks are within the purview of the present application.In another example, wearable apparatus 110 may analyze the plurality ofimages to identify one or more images that depict a behavior of theuser, determine user behavior related information based on the one ormore images, select at least one content item from a content depositorybased on the information, and in some cases transmit the selectedcontent item to computing device 120.

FIG. 17C illustrates exemplary software modules contained in one or morememory units. As shown in FIG. 17C, the exemplary software modulesinclude an image analysis module 1710, an audio analysis module 1720, abehavior identification module 1730, a information determination module1740, and a content selection module 1750. As described above,computational tasks involved in system 200 for personalized contentselection may be allocated among wearable apparatus 110, computingdevice 120, and server 250. Therefore, software modules shown in FIG.17C, which are functionally similar to the computational tasks, are notnecessarily stored in a single memory unit. Rather, the software modulescan be allocated, similar to the computational tasks, among the variousdevices having computational power in system 200. For example, memory550 a may contain modules 1710 and 1720, while memory 550 b may containmodules 1730, 1740, and 1750. In another example, all modules shown inFIG. 17C may be contained in memory 550 b. In yet another example, allmodules shown in FIG. 17C may be contained in memory 550 (as shown inFIGS. 5A and 5B). In some embodiments, multiple memory units, forexample memories 550 a and 550 b, may both contain certain modules, suchas modules 1710 and 1720, and the computational tasks of image/audioanalysis may be dynamically allocated or shifted between wearableapparatus 110 and computing device 120, depending on their respectivework load. Therefore, the memory unit shown in FIG. 17C is collectivelyreferred to as 550/550 a/550 b, indicating that the software modulesshown in FIG. 17C may or may not be contained in a single memory unit.

Similar to modules 601, 602, and 603 shown in FIG. 6, the softwaremodules shown in FIG. 17C may contain software instructions forexecution by at least one processing device, e.g., processor 210 and/orprocessor 540. Image analysis module 1710, audio analysis module 1720,behavior identification module 1730, information determination module1740, and content selection module 1750 may cooperate to providepersonalized content selection based on user behavior.

In some embodiments, image analysis module 1710 may contain softwareinstructions for performing optical character recognition (OCR) of atleast one image captured by image sensor 220. For example, referring toFIG. 17B, processor 210 may execute the image analysis module 1710stored in memory 550 a to perform OCR of one or more images captured byimage sensor 220, and transmit the OCR result to computing device 120via wireless transceiver 530 a. Processor 540 of computing device 120may be programmed to receive the OCR result via wireless transceiver 530b. After receiving the OCR result, processor 540 may execute softwareinstructions of behavior identification module 1730 stored in memory 550b to identify the behavior of user 100 based on the OCR result. Based onthe identified behavior, processor 540 may determine informationassociated with the behavior by executing software instruction ofinformation determination module 1740. Processor 540 may then executesoftware instructions of content selection module 1750 to select atleast one content item. The selected content item(s) may be displayed ondisplay 260 and/or output by feedback outputting unit 230/545.

In some embodiments, audio analysis module 1720 may contain softwareinstructions for analyzing sound recorded by audio sensor 1702. Forexample, audio sensor 1702 may record sound continuously and store therecorded sound data in memory 550 a. Memory 550 a may keep the sounddata in a buffer, which may have a size sufficient for storing apredetermined length of sound, such as 5 seconds, 10 seconds, 30 sounds,60 sounds, etc. Sound data stored in memory 550 a may be transmitted tocomputing device 120 after a trigger is recognized in at least one ofthe captured images. For example, processor 210 may analyze the imagescaptured by image sensor 220 to recognize the trigger, such as a handgesture, a person, an object, a location, a scene, etc. After thetriggered is recognized, processor 210 may transmit the sound datastored in memory 550 a to computing device 120. Processor 210 may alsotransmit sound data recorded after the recognition of the trigger tocomputing device 120, for example, for a designated time period (e.g., 5seconds, 10 seconds, 30 seconds, 60 seconds, etc.). After receiving thesound data, processor 540 may execute software instructions of audioanalysis module 1720, for example, to extract information from the sounddata recorded before and/or after the recognition of the trigger. Basedon the analysis result, processor 540 may identify one or more behaviorsof user 100 by executing software instructions of behavioridentification module 1730, determine information associated with eachbehavior by executing software instructions of information determinationmodule 1740, and select at least one content item by executing softwareinstructions of content selection module 1750.

In some embodiments, behavior identification module may perform behavioridentification based on either or both analysis results of modules 1710and 1720. For example, behavior identification may be based on image(s)and/or OCR result without sound information. In another example,behavior identification may be based on sound information alone, such asidentifying a person's name, an object, a place, a date, a time point,or other behavior related information from the sound. In anotherexample, behavior identification may be based on both images and sound.As described above, a trigger can be identified from OCR result of oneor more images. Based on the trigger, sound data may be analyzed byaudio analysis module 1720. Behavior identification module 1730 mayidentify user behavior(s) based on both the OCR result and the analysisresult of the sound data.

System 200 may provide personalized content to user 100 in variousapplications, such as in various environments or scenarios. For example,FIG. 18A is a schematic illustration of an exemplary application. Asshown in FIG. 18A, user 100 may wear wearable apparatus 110 whilevisiting an event venue, for example, a concert hall 1814. Apparatus 110may capture images (e.g., using image sensor 220) of the event venue,such as images of a building (inside and/or outside), images of the nameof the building (e.g., “National Theater”), image of iconic object(s)associated with the event venue (e.g., statue(s), chandelier(s),painting(s), column(s), layout of the stage/seating area/stairs, patternof ceiling lamps, etc.). The images may be analyzed by image analysismodule 1710 to recognize (e.g., by performing OCR) certain elementswithin the images, such as characters, logos, signs, unique patterns,profiles, etc. The recognized result may be processed by behavioridentification module 1730 to identify the event venue, such as theparticular concert hall user 100 is visiting. In some embodiments,images captured by image sensor 220 may be processed directly bybehavior identification module 1730 to identify the event venue. In someembodiment, identification module 1730 may also identify the event venuebased on other information, such as the location information 1819 ofuser 100 (e.g., via GPS information provided by computing device 120),calendar information 1818 (e.g., a concert event is scheduled at aparticular time slot and the current time is within that time slot),image of another person 1810 (e.g., a friend who is also visiting theconcert hall), etc. Based on the identified event venue, informationdetermination module 1740 may determine information associated with theevent venue. For example, the information may include a performer 1816scheduled to perform at the event venue, such as a singer, an actor, acomedian, an athlete, a dancer, a musician, a director, etc. Suchinformation may be obtained from server 250, through Internet search, orfrom information associated with user 100, such as the user's calendar,notes, email, purchase history, etc. Based on the determinedinformation, content selection module 1750 may select at least onecontent item 1812. Content item 1812 may include information (e.g., anadvertisement) regarding a music CD performed by the performer, amagazine featuring an article about the performer, an upcoming eventfeaturing the performer, a movie or television show featuring theperformer, a book written by the performer, a product sold or endorsedby the performer, a social media account or website associated with theperformer, etc. The content item may be displayed on display 260 ofcomputing device 120.

In some embodiments, a content item may also be selected based on alearned history of user 100. For example, FIG. 18B is an illustration ofan application of personalized content selection based on a learnedhistory of user 100. Referring to FIG. 18B, user 100 may wear wearableapparatus 110 to visit a restaurant. Based on image analysis similar tothe analysis described in connection with the last example, behavioridentification module 1730 may identify that the venue is a restaurant.Based on the identification, information determination module 1740 maydetermine a food preference of user 100. For example, the foodpreference may be determination based on analysis of at least one image1824 previously captured by wearable apparatus 110, either at theparticular restaurant user 100 is currently visiting or at otherrestaurant(s). In some embodiment, information determination module 1740may conduct a search in memory 550 a and/or 550 b to identify image(s)previously captured relating to food. Based on the identified image(s),information determination module 1740 may determine the food preferenceof user 100. For example, if the number of images of burgers is morethan other types of food, then it may indicate that user 100 prefersburger. In another example, if images of salads were captured morefrequently and/or more recently, then it may indicate that user 100prefers salad. In some embodiments, images of the food item(s) used fordetermining food preference of user 100 may be food item(s) ordered orconsumed by user 100 in the past. For example, information determinationmodule 1740 may distinguish food item(s) ordered or consumed by user 100and food item(s) ordered or consumed by others by, e.g., comparing thefocus, distance, position of the food item(s), and/or whether an imageshows another person consuming the food item(s). The food preference ofuser 100 may be determined on the fly, e.g., after identifying the user100 is at a restaurant, or may be determined routinely, e.g., on a dailybasis or after new images of food item(s) are captured, and stored inmemory 550 a/550 b. Based on the food preference, content selectionmodule 1750 may select at least one content item 1822, such as arecommendation for a particular food item. The particular food item maybe selected from the restaurant's menu 1820. Information of the menu1820 may be obtained from images captured by apparatus 110. For example,image(s) of the menu 1820 may be captured by image sensor 210 while user100 is reading the menu. The image(s) of the menu 1820 may be OCRed toobtain the food selections provided by the restaurant. In anotherexample, information of the menu may be obtained from server 250 orthrough Internet search based on the identified restaurant information.Content selection module 1750 may match the food preference of user 100and the menu selections provided by the restaurant to generate therecommendation. In some embodiments, the recommendation may include animage of the recommended food item, the name of the recommended fooditem, or other indication of the recommended food item that can bedisplayed on display 260 of computing device 120. The recommendation mayalso include an audio readout of the recommended food item and/orinformation related to the nutrition of the recommended foot item. Insome embodiment, the recommendation may also include a review of one ormore food items, a coupon acceptable by the restaurant, or otherinformation relating to the recommended food item, the food preference,or the restaurant.

FIG. 18C is an illustration of a third exemplary application ofpersonalized content selection. Referring to FIG. 18C, user 100 may wearwearable apparatus 110 while conducting certain routine practices, suchas walking to work at a particular time of the day (e.g., around 9:00 AMin the morning, as shown in 1834) and stopping by at a particular coffeeshop 1830 to buy a cup of coffee. Behavior identification module 1730may determine, based on images captured (e.g., image of the road, imageof the coffee shop 1830, etc.) and/or the time information 1834 (e.g.,prior to or around the time of the routine practice), that user 100 maystop by the coffee shop 1830 to buy coffee. Based on the identified userbehavior (e.g., consuming a beverage at a particular time of day),information determination module may determine, for example, that acoupon 1832 can be used to lower the cost of purchasing the coffee.Content selection module 1750 may select such a coupon 1832, which maybe issued by the coffee shop or by a third party, from a coupon poolstored in memory 550 b and/or server 250, or through Internet search.The coupon may be displayed on display 260 of computing device 120 foruser 100 to apply to the coffee purchase.

FIG. 19A is a flow chart of an exemplary method 1900 for selectingpersonalized content for user 100 based on the behavior of user 100.Method 1900 starts from step 1912, in which wearable apparatus 110 maycontinuously capture images in the surround environment of user 100. Instep 1914, the captured images may be analyzed by image analysis module1710. For example, image analysis module 1710 may perform OCR to thecaptured images to recognize text, signs, or other visual elements inthe images. In another example, image analysis module 1710 may recognizescene, place, person, object, time, or extract other information fromthe captured images. The extent of the analysis may vary depending ontask allocation, computational power, power consumption, etc. Forexample, image analysis module 1710 may perform minimum processing tothe capture images, such as compression, cropping, zooming, etc., beforesending the images to behavior identification module 1730. In anotherexample, image analysis module 1710 may perform more extensiveprocessing, such as OCR, pattern recognition, etc., and send theanalysis result to behavior identification module 1730.

In step 1916, behavior identification module 1730 may identify one ormore images that depict a behavior of user 100. The one or more imagesmay be identified from the captured images or images processed by imageanalysis module 1710. For example, behavior identification module 1730may identify that certain image(s) may depict that user 100 is visitingan event venue (e.g., a concert hall), a restaurant, a shopping mall, acoffee shop, etc. In another example, behavior identification module1730 may identify that certain image(s) may depict that user 100 ismeeting a friend or family member, watching TV, working before acomputer, driving, walking to work, etc.

In step 1918, information determination module 1740 may determineinformation associate with the identified image(s) that depict thebehavior of user 100. For example, if the identified image(s) depictthat user 100 is visiting a concert hall, information determinationmodule 1740 may determine one or more performers scheduled to perform atthe concert hall. In another example, if the identified image(s) depictthat user 100 is at a restaurant, information determination module 1740may determine the food preference of user 100 based on, for example,images captured previously showing food item(s) ordered or consumed byuser 100. In a further example, if the identified image(s) depict thatuser 100 is walking to work, information determination module 1740 maydetermine that user 100 routinely stops by a particular coffee shop onthe way based on, for example, images captured previously showing user100 purchased coffee at the particular coffee shop on the way to work atroughly the same time during the day almost every work day.

In step 1920, content selection module 1750 may select at least onecontent item based on the information determined in step 1918. Forexample, if user 100 visits a concert hall and information determinationmodule 1740 determines one or more performers scheduled to perform atthe concert hall, content selection module 1750 may select a music CDrelated to the concert (e.g., containing music performed by at least oneof the performers determined by information determination module 1740)to be provided to user 100 (e.g., by displaying the music CD imageand/or purchase information on display 260). In another example, if user100 visits a restaurant and information determination module 1740determines the food preference of user 100, content selection module1750 may select a food item on the restaurant menu to be provided touser 100 as a recommendation based on the food preference. In a furtherexample, if user 100 walks to work and information determination module1740 determines that user 100 likely to stop by the coffee shop to buycoffee, content selection module 1750 may, based on the high likelihoodthat user 100 would buy coffee at the particular coffee shop, select acoupon to be provided to user 100 prior to or upon the user's arrival ofthe coffee shop.

In some embodiments, wearable apparatus 110 may continuously captureboth images and sound in the surround environment of user 100. Thecaptured image data may be analyzed continuously, while the capturedsound data may be analyzed based on detection of a trigger resultingfrom the analysis of the image data. FIG. 19B shows a flow chart of anexemplary method 1950 based on analysis of both image and sound data forselecting personalized content.

In step 1952, wearable apparatus 110 may capture both image and sounddata using image sensor 220 and audio sensor 1702, respectively. Thecaptured image and sound data may be stored in a buffer of memory 550 a.

In step 1954, image analysis module 1710 may analyze the capture imagedata, similar to step 1914.

In step 1956, image analysis module 1710 may, based on the analysis ofthe capture image data, recognize a trigger. For example, the triggermay be a hand-related trigger, as described above. The trigger may alsoinclude OCR result and recognition of scene, place, person, object,time, etc.

In step 1958, audio analysis module 1720 may analyze sound data afterthe trigger is recognized. For example, after the trigger is recognized,sound data recorded a predetermined time period before and/or after thetrigger may be analyzed to identify user behavior(s). Sound datarecorded before the trigger may be obtained from the buffer if memory550 a and transmitted to computing device 120. Sound data recorded afterthe trigger may be transmitted to computing device 120 as the sound isbeing recorded. The predetermined time period may be 5 seconds, 10seconds, 30 seconds, 60 seconds, etc. Audio analysis module 1720 mayanalyze the sound data to extract information relating to user behavior.For example, user 100 may listen to music at a concert hall. Afterhearing an excellent solo performed by a violinist, user 100 may usehis/her hand to gently point to the violinist, which may be recognizedas a trigger. After the trigger is detected, audio analysis module 1720may retrieve the sound recording in the past 60 seconds from memory 550a (e.g., wearable apparatus 110 may transmit the sound data to computingdevice 120), and analyze the sound recording to determine, for example,the information of the music. The analysis result may then be used toselect personalize content, such as a music CD containing the same orsimilar music performed by the violinist, to user 100.

Step 1960 is similar to step 1916, except that step 1960 may includeuser behavior determination based on both image and sound data. Forexample, in the above example in which user 100 is at the concert halllistening to music, both images of the concert hall and sound of themusic may be used by behavior identification module to identify userbehavior.

Steps 1962 and 1964 are similar to steps 1918 and 1920, respectively.Therefore, detailed description of these two steps are omitted.

The above methods (e.g., method 1900 and 1950) may further include othersteps or processes disclosed herein but not presented in FIGS. 19A and19B, such as those discussed above in connection with any of the otherfigures in this disclosure.

Content Selection Based on Analysis of Information from MultipleWearable Systems

Some embodiments of the present application may involve systems,methods, and software products for analyzing information collected by aplurality of wearable camera systems and selecting at least one contentitem based on statistical data determined from the analysis. As usedherein, the term “content item” includes any data, media, substance, ormaterial suitable for conveying information that is useful, pertinent,or relevant to one or more users. Exemplary content items may include anadvertisement, a promotion for sales (e.g., a coupon), a recommendationor review of services or products, a product description, an article orany form of text, an image, an audio clip, a video, a sign, a signal ofnotification or alert, or any other suitable form of information thatcan be sensed or experienced by the user. The term “wearable camerasystem” refers to wearable apparatus 110 or a combination of wearableapparatus 110 and computing device 120. As shown in FIG. 2, in someembodiments, wearable apparatus 110 may be paired with computing device120 and computing device 120 may transmit/receive data to/from server250. In other embodiments, wearable apparatus 110 may transmit/receivedata to/from server 250 directly via network 240.

FIG. 20A is a schematic illustration of an exemplary system 2000 foranalyzing information collected by a plurality of wearable camerasystems. Referring to FIG. 20A, a plurality of users, such as 2010,2020, and 2030, may use various wearable camera systems, such as systems2012, 2022, and 2032. Some wearable camera systems, for example systems2012 and 2022, may include both wearable apparatus 110 and computingdevice 120. Other wearable camera systems, such as system 2032, mayinclude wearable apparatus 110 but not computing device 120. The variouswearable camera systems may also be worn in different fashions. Forexample, wearable camera system 2012 may be worn similar to theembodiment shown in FIG. 1B, wearable camera system 2022 may be wornsimilar to the embodiment shown in FIG. 1C, and wearable camera system2032 may be worn similar to the embodiment shown in FIG. 9.

System 2000 may include a cloud 2050 configured to collect data from theplurality of wearable camera systems via respective communication links.The term “cloud” refers to a computer platform that provides servicesvia a network, such as the Internet. Cloud 2050 may include one or moreservers, such as server 2060. In some embodiments, server 2060 may bethe same as server 250. In other embodiments, server 2060 may be aseparate or a different server from server 250. Cloud 2050 may alsoinclude a database 2070. Database 2070 may be part of server 2060 orseparate from server 2060. When database 2070 is not part of server2060, database 2070 and server 2060 may exchange data via acommunication link.

FIG. 20B is a block diagram of an example of the components involved insystem 2000. Referring to FIG. 20B, system 2000 may include cloud 2050.Cloud 2050 may include server 2060 and database 2070. Server 2060 mayinclude a processor 2064, a memory 2062, and a network interface 2066.Processor 2064 may include any processing devices suitable for acomputer server. Similarly, memory 2062 may include any memory devicesand/or storage devices suitable for a computer server. Network interface2066 may include any suitable network adaptors, such as wired orwireless network adaptors, optical network adaptors, telecommunicationnetwork adaptors, satellite network adaptors, etc. Database 2070 mayinclude any suitable databases, ranging from small databases hosted on awork station to large databases distributed among data centers. Asdescribe above, database 2070 may be part of server 2060 or may beseparate from server 2060. In some embodiment, cloud 2050 may beimplemented using virtual machines, in which server 2060 and/or database2070 may not correspond to individual hardware. Instead, computationaland/or storage capabilities may be implemented by allocating appropriateportions of the desirable computation/storage power from a scalablerepository, such as a data center or a distributed computingenvironment. Therefore, server 2060 is depicted using dashed lines,indicating that the block diagram is a functional representation ofserver 2060, but not necessarily a structural representation.

Cloud 2050 may communicate with the plurality of wearable camera systemsvia respective networks, such as network 240 shown in FIG. 2. Eachwearable camera system may be equipped with a network interface totransmit data to cloud 2050. For example, wearable camera system 2012may include wearable apparatus 110 and computing device 120, and mayinclude components similar to those shown in FIG. 5C. Wearable camerasystem 2012 may include a network interface 2019 to communicate withnetwork interface 2066 of cloud 2050. Network interface 2019 may beprovided by computing device 120, and may include a wireless networkinterface (e.g., WiFi), a telecommunication interface (e.g., 2G, 3G, 4G,5G, LTE), or other suitable network interfaces. In some embodiments,network interface 2019 may include wireless transceiver 530 b.Similarly, wearable camera system 2022 may also include wearableapparatus 110 and computing device 120, and may include componentssimilar to those shown in FIG. 5C. Wearable camera system 2022 mayinclude a network interface 2029, which may be similar to networkinterface 2019. Wearable camera system 2032, on the other hand, mayinclude wearable apparatus 110 but not computing device 120. Wearablecamera system 2032 may include a network interface 2039, which may beprovided by wearable apparatus 110. For example, network interface 2039may include a wireless network interface (e.g., WiFi), atelecommunication interface (e.g., 2G, 3G, 4G, 5G, LTE), or othersuitable network interfaces. In some embodiments, network interface 2039may include wireless transceiver 530 shown in FIGS. 5A and 5B orwireless transceiver 530 a shown in FIG. 5C.

Each wearable camera system may include an image sensor to capture imagedata. For example, wearable camera system 2012 may include an imagesensor 2014, which may be similar to image sensor 220 shown in FIG. 5C.In another example, wearable camera system 2022 may include an imagesensor 2024, which may include two individual sensors, similar to imagesensors 220 a and 220 b shown in FIG. 5B. In a third example, wearablecamera system 2012 may include an image sensor 2014, which may besimilar to image sensor 220 shown in FIG. 5A. The plurality of wearablecamera systems may use the same or different image sensors. Anyabove-described image sensors, or any combination thereof, can be usedby the plurality of wearable camera systems.

Each of the plurality of wearable camera systems may include a processorand a memory. For example, wearable camera system 2012 may includeprocessor 2018 and memory 2016, wearable camera system 2022 may includeprocessor 2028 and memory 2026, and wearable camera system 2032 mayinclude processor 2038 and memory 2036. For paired systems includingboth wearable apparatus 110 and computing device 120, such as wearablecamera systems 2012 and 2022, processor 2018/2028 may include bothprocessor 210 and processor 540 shown in FIG. 5C, and memory 2016/2026may include both memory 550 a and memory 550 b shown in FIG. 5C. Forwearable camera systems including wearable apparatus 110 but notcomputing device 120, such as wearable camera system 2032, processor2038 may include processor 220 shown in FIG. 5A, and memory 2036 mayinclude memory 550 shown in FIG. 5A.

FIG. 21 is a block diagram of exemplary software modules stored inmemory 2062. As shown in FIG. 21, the exemplary software modules includean information collection module 2110, a commonality identificationmodule 2120, a statistical data determination module 2130, and a contentselection module 2140. Software modules shown in FIG. 21 may containsoftware instructions for execution by at least one processing device,e.g., processor 2064.

Information collection module 2110, commonality identification module2120, statistical data determination module 2130, and content selectionmodule 2140 may cooperate to provide content selection based onstatistical analysis of a population of users of the wearable camerasystems.

Information collection module 2110 may contain software instructionsexecutable by processor 2064 to receive, from the plurality of wearablecamera systems (e.g., 2012, 2022, 2032) or from a middle/third system,information derived from image data captured by the wearable camerasystems. In some embodiments, after the image sensor (e.g.,2014/2024/2034) of a wearable camera system captures one or more images,the processor (e.g., 2018/2028/2038) of the wearable camera system mayderive information from the captured image(s). Information may bederived from the captured image(s) include a behavior or habit of theuser, an event attended by the user, a produced used or purchased by theuser, a place visited by the user, a food or beverage ordered orconsumed by the user, etc. As used herein, the term “behavior” refers tothe way in which user 100 acts or conducts him/herself, including aregular or normal practice of tendency (e.g., a habit), interaction withothers, a pattern or way of work, life, eating, drinking, moving,driving, exercising, entertaining, etc. In some cases, a user's behaviormay also include acts or conducts that are irregular or abnormal.

For example, after image sensor 2014 captures one or more images of user2010 visiting a coffee shop to buy coffee, processor 2018 may derive,based on the image(s) of the coffee shop, the coffee, and/or otherimages captured during the visit, information about the coffee shop,such as the name/brand of the coffee shop, location of the coffee shop,whether the coffee shop is an independent shop or a chain shop, etc.;information about the coffee, such as the type of the coffee, size ofthe coffee, price of the coffee, whether the coffee includesmilk/cream/sugar, etc.; and information of user 2010, such as the timeof visiting the coffee shop, route to the coffee shop, whether user 2010is walking or driving, method of payment (e.g., by credit card, check,cash, or mobile payment), etc. The derived information may betransmitted by wearable camera system 2012 to cloud 2050 and received byprocessor 2064 for analysis. In some embodiments, wearable camera system2012 may transmit image data to a middle system, such as a work station(e.g., a home computer of user 2010), a server (e.g., a web storage forhosting images of user 2010), or a preprocessing device between wearablecamera system 2012 and cloud 2050. Cloud 2050 may then receive derivedinformation from the middle system.

In some embodiments, database 2070 may store profiles of users of thewearable camera systems. A user profile may be established around thetime when a user obtains a wearable camera system, or at any timethereafter. For example, after user 2010 purchases wearable camerasystem 2012, user 2010 may register wearable camera system 2012 bycreating a personal profile. The profile may include demographiccharacteristic data of user 2010, including age, income, geographicallocation, etc. After the profile is established, wearable camera system2012 may be associated with the profile of user 2010. Thereafter, datacommunication to/from wearable camera system 2012 may be stored underthe profile of user 2010. For example, the derived information receivedfrom wearable camera system 2012 may be stored in database 2070 under orin association with the profile of user 2010.

In some embodiments, cloud 2050 may receive information derived fromimage data captured by a plurality of wearable camera systems (e.g.,systems 2012, 2022, and 2032). For example, the received information mayinclude the brand name of coffee shop A visited by user 2010 and brandname of coffee shop B visited by both user 2020 and 2030, which arederived from image(s) captured by the respective wearable camera systems2012, 2022, and 2032. In another example, the receive information mayinclude an event venue visited by the three users. The informationderived from image(s) captured by the wearable camera system of anindividual user may provide valuable insights to the behavior, habit,taste, tendency, or other traits or characteristic of the individualuser. System 2000 may collect such information from a population ofusers and perform statistical analysis to the collected information toprovide customized content item(s) to a group of users sharing a certaincommonality.

Commonality identification module 2120 may contain software instructionsexecutable by processor 2064 to analyze the derived information toidentify a commonality related to the image data captured by at leasttwo of the wearable camera systems. In some embodiments, the commonalitymay include a behavior or a habit of two or more users of the wearablecamera systems. For example, commonality identification module 2120 mayidentify that, based on derived information, that users 2020 and 2030both regularly visit coffee shops of the same brand, users 2020 and 2030may share the same or similar loyalty to that coffee shop brand; or bothusers like the taste of the coffee made by that coffee shop brand; or,if the coffee shop is on the way to work for both users, convenience maybe the commonality of the two users.

In some embodiments, the commonality may include an event attended bytwo or more users of the wearable camera systems. For example, one ormore of the three users 2010, 2020, and 2030 may attend the sameconcert. Their respective wearable camera systems may capture images ofthe concert and, based on the captured images, derive the name/venue ofthe concert. The derived information may be collected by cloud 2050.Processor 2064 may analyze the derived information and identify acommonality that the three users attend the same concert. The threeusers may or may not know each other. However, through the images theirwearable camera systems captured, system 2000 may be able to identifythe commonality among these users.

In some embodiments, the commonality may include a product associatedwith (e.g., used or purchased by) two or more users of the wearablecamera systems. For example, user 2020 and user 2030 may not know eachother and live in different places. But both may purchase a smart phoneof the same brand and model. While they are making the purchase of thesmart phone and/or using the phone, their respective wearable camerasystems 2022 and 2032 may capture images of the smart phone and deriveinformation of the smart phone, such as the brand and model of the smartphone. Cloud 2050 may receive the derived information and identify acommonality between user 2020 and 2030, that they both purchased thesame smart phone.

In some embodiments, the commonality may include a demographiccharacteristic of two or more users of the wearable camera systems. Forexample, commonality identification module 2120 may obtain demographiccharacteristic data from the profiles of users of the wearable camerasystems, such as age, income, and/or a geographical location. Based onthe demographic characteristic data, commonality identification module2120 may identify that, for example, a certain number of users in theirforties regularly visit a particular brand of coffee shop, or a certainnumber of users having an annual income higher than $100,000 bought aparticular brand of smart phone during a certain time period, or acertain number of users living in a particular geographical locationregularly visit a particular concert hall.

Statistical determination module 2130 may contain software instructionsexecutable by processor 2064 to determine, based on the commonality,statistical data related to users of the at least two of the wearablecamera systems. For example, based on the commonality that X number ofusers in their forties and Y number of users in their thirties regularlyvisit coffee shop brand A, and X is much larger than Y, statisticaldetermination module 2130 may determine that users in their forties maybe more interested in coffee shop brand A than users in their thirties.In another example, based on the commonality that X number of usershaving an annual income higher than $100,000 and Y number of usershaving an annual income between $50,000-$100,000 bought smart phonebrand B during the first two weeks of product release, and X is muchsmaller than Y, statistical determination module 2130 may determine thatsmart phone brand B may be more appealing to users having an annualincome between $50,000-$100,000 than those with higher incomes. In athird example, based on the commonality that X number of users living intown C and Y number of users living in town D regularly visit a famousconcert hall M, and X is larger than Y, statistical determination module2130 may determine that users living in town C may be more interested inspending money to buy tickets to concert hall M.

Content selection module 2140 may contain software instructionsexecutable by processor 2064 to select, based on the statistical data,at least one content item for at least one of the users of the wearablecamera systems who share the commonality. For example, based on thestatistical data that users in their forties may be more interested incoffee shop brand A than users in their thirties, content selectionmodule 2140 may select discount coupons of coffee shop brand A to bedistributed to users in their thirties to attract them to visit coffeeshop brand A, or distribute coupons having heavier discounts to users intheir thirties than users in their forties. In another example, based onthe statistical data that smart phone brand B may be more appealing tousers having an annual income between $50,000-$100,000 than those withhigher incomes, content selection module 2140 may select productintroduction materials or advertisements to distribute to users havingincomes higher than $100,000. In a third example, based on thestatistical data that users living in town C may be more interested inspending money to buy tickets to concert hall M, content selectionmodule 2140 may select multimedia promotional products from concert hallM to be sent to users living in town C to appreciate their support andto maintain their loyalty. In some embodiments, the content item may beselected for any one user sharing a commonality with other users. Insome embodiments, the content item may be selected for multiple userssharing a commonality.

FIG. 22 is a flow chart of an exemplary method 2200 for analyzinginformation collected by a plurality of wearable camera systems. Method2200 starts from step 2212, in which processor 2064 of cloud 2050 mayobtain, from the plurality of wearable camera systems (e.g., 2012, 2022,2032) or from a middle system, information derived from image datacaptured by the wearable camera systems. For example, informationderived from image data captured by the wearable camera systems mayinclude a behavior or habit of the user, an event attended by the user,a produced associated with the user, a place visited by the user, a foodor beverage ordered or consumed by the user, etc.

In step 2214, processor 2064 may analyze the derived information toidentify a commonality related to the image data captured by at leasttwo of the wearable camera systems. For example, the commonality mayinclude a behavior or habit of two or more users, an event attended bytwo or more users, a product associated with two or more users, ademographic characteristic of two or more users.

In step 2216, processor 2064 may determine statistical data based on thecommonality. The statistical data may include the likelihood of certainbehavior of certain group of users, comparison among different groups ofusers, etc.

In step 2218, processor 2064 may select, based on the statistical data,at least one content item for one or more users sharing a certaincommonality. For example, the content item may include a coupon, aproduct description, an advertisement, a video, or an audio clip. Thecontent item may be transmitted to a wearable device of the users, to anemail account of the users, be included in a mail item being sent to theusers, and/or incorporated into a video or audio program watched orlistened to by the users, for example, via a streaming video or audioservice over the Internet, a program being watched or listened to by oneor more of the users over a cable or satellite or television service,and/or displayed (e.g., on a display device) at an event or venue (e.g.,an athletic event, theater, movie theater, etc.) attended by the users.For example, data collected by the wearable camera systems may be usedto identify locations and/or events attended by the users sharing thecommonality. In some embodiments, the system may access data (e.g.,calendars, schedules, ticket purchasing histories, etc.) of the users inorder to identify locations attended by the users and/or where productsand/or services are purchased the users, and then provide the contentitem to the users at the locations.

Further, in some embodiments, in addition to transmitting the selectedcontent item to wearable apparatus 110 or computing device 120,information based on the selected content item may be provided viawearable apparatus 110 or computing device 120. For example, wearableapparatus 110 may provide information based on a selected content item(e.g., a message indicating that the content item is available throughan email account or a website, etc., via, for example, audio output). Asanother example, computing device 110 may provide information (e.g.,text, graphics, video, and/or audio) based on the selected content item.

The above method (e.g., method 2200) may further include other steps orprocesses disclosed herein but not presented in FIG. 22, such as thosediscussed above in connection with any of the other figures in thisdisclosure.

Identifying Exposure to a Recognizable Item

In some embodiments, wearable apparatus 110 may collect informationrelated to brand exposure, and that information may be analyzed todetermine relative brand exposure for an individual or a targetpopulation. For example, based on image analysis, wearable apparatus 110may determine that a particular individual is exposed to a particularbrand of product more frequently than another brand. In someembodiments, the analysis may consider an individual and/or population'sexposure to a particular product, logo, or advertisement. Further, datarepresenting the user's exposure may be transmitted to another device(e.g., a smartphone, tablet, watch, smartwatch, computer, etc.) and/or aserver for analysis and/or reporting to the user and/or other parties.

FIG. 23 is a diagram illustrating an example of memory 550 storing aplurality of modules, consistent with the disclosed embodiments. Themodules may be executable by at least one processing device to performvarious methods and processes disclosed herein. Memory 550 may storemore or fewer modules than those shown in FIG. 23.

As illustrated in FIG. 23, memory 550 may store software instructions toexecute a data capture module 2301, a recognizable item identificationmodule 2302, an action execution module 2303, a database access module2304, and may also include database(s) 2305. Data capture module 2301may include software instructions for receiving data from wearableapparatus 110. Recognizable item identification module 2302 may includesoftware instructions for analyzing data obtained by wearable apparatus110 to identify subsets of the captured data including the recognizableitem and information associated with the recognizable item. Actionexecution module 2303 may include software instructions to cause theoccurrence of an action based on the information associated with therecognizable item identified in the acquired data. Database accessmodule 2304 may include software instructions executable to interactwith database(s) 2305, to store and/or retrieve information.

Data capture module 2301 may include software instructions for receivingdata from a wearable apparatus, such as a wearable camera system. Datareceived from a wearable camera system may include audio and image data,captured, by, for example, an image sensor or microphone associated withthe wearable camera system. Image data may include raw images and mayinclude image data that has been processed. Raw images may be provided,for example, in the form of still images and video data, either with orwithout embedded metadata. In some embodiments, image data and audiodata may be preprocessed prior to capture by data capture module 2301.Preprocessing may include, for example, noise reduction, artifactremoval, compression, and other image pre-processing techniques.

Recognizable item identification module 2302 may be configured toanalyze data captured by data capture module 2301 to detect or identifya subset of the captured data that includes a recognizable item. In someembodiments, module 2302 may be configured to receive a plurality ofimages and to identify one or more of the plurality of images thatinclude the recognizable item. For example, the module 2302 may receivea plurality of images of an environment surrounding a user wearing thewearable device 110 and identify which of the plurality of imagesinclude products associated with a given brand (e.g., cola beverages ofa given brand of cola). The recognizable item may include, for example,a product, an advertisement, a logo, a brand symbol, and so forth. Therecognizable item may take the form of objects, products, words, text,pictures, and any other recognizable feature in an image or series ofimages. Recognizable items may be detected in still images or in videoimages. Recognizable items may also be detected based on therelationship of identifiable features with respect to one another in animage or video. For example, a specific product may be deemed to be arecognizable item based on an analysis of the words embedded inparticular locations on the product. Specific examples of recognizableitems provided herein are exemplary only, and a person of ordinary skillin the art will recognize other recognizable items that remainconsistent with the present disclosure.

Recognizable item identification module 2302 may further be configuredto analyze the one or more images that include the recognizable item todetermine information associated with the recognizable item. Theinformation associated with the recognizable item may include a productname, logo, brand, or type. A type of product may include, for example,shampoo or cereal. A brand of product may include, for example, aspecific brand or manufacturer of a product, i.e., the manufacturer ofthe shampoo or cereal, and a product name may include, for example, thespecific name of the manufacturer's shampoo or cereal. For example, inone embodiment, the recognizable item may be sneakers, and theinformation associated with the recognizable item may be a Nike™ symbol.For further example, in another embodiment, the recognizable item may bea cereal box, and the information associated with the recognizable itemmay be a Cheerios™ symbol. In another embodiment, the recognizable itemmay be a beverage container, and the associated information may be aCocaCola™ symbol.

Action execution module 2303 may be configured to perform a specificaction in response to the identification of one or more images includingthe recognizable item. For example, the action execution module 2303may, for each image in the one or more images including the recognizableitem, identify the user of the wearable apparatus. In some embodiments,action execution module 2303 may identify the user via database accessmodule 2304. Database access module 2304 may be configured to accessdatabase(s) 2305, for example, to retrieve or store data associated withthe image data captured via data capture module 2301. For example,action execution module 2303 may access databases 2305 to identifymetadata associated with the images including the recognizable item, anduse the metadata to identify the user of the wearable apparatus 110.However, in other embodiments, action execution module 2303 may receiveinformation identifying the user of the wearable apparatus 110 from anysuitable source, such as via an input device (e.g., a keyboard,graphical user interface, etc.) accessed by the user of the wearableapparatus.

Action execution module 2304 may further be configured to transmit theinformation identifying the user of the wearable apparatus and/or theinformation associated with the recognizable item to an external devicefor further processing of the information, as described in more detailbelow. However, in other embodiments, action execution module 2303 maybe configured to further process the information identifying the user ofthe wearable apparatus 110 and/or the information associated with therecognizable item. For example, action execution module 2304 may beconfigured to determine a relative exposure level of the user of thewearable apparatus 110 to particular brands of a given product. Inanother example, action execution module 2304 may be configured todetermine the number of unique items of particular brands of a givenproduct the user of the wearable apparatus 110 is exposed to. In oneembodiment, action execution module 2304 may determine what percentageof the one or more images including the recognizable item are associatedwith a first brand (e.g., CocaCola™) and what percentage are associatedwith a second brand (Pepsi™). However, in other embodiments, suchanalysis may be performed by an external device to which actionexecution module 2303 transmits information.

Database 2305 may be configured to store any type of information of useto modules 2301-2304, depending on implementation-specificconsiderations. For example, in embodiments in which action executionmodule 2303 is configured to determine the information identifying theuser of the wearable apparatus 110, database 2305 may store the metadataassociated with the captured images. In some embodiments, database 2305may store the one or more images of the plurality of captured imagesthat include the recognizable information. Indeed, database 2305 may beconfigured to store any information associated with the functions ofmodules 2301-2304.

Modules 2301-2304 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored in memory 550, as shown inFIG. 6. However, in some embodiments, any one or more of modules2301-2304 and data associated with database 2305, may, for example, bestored in processor 540 and/or located on server 250, which may includeone or more processing devices. Processing devices of server 250 may beconfigured to execute the instructions of modules 2301-2304. In someembodiments, aspects of modules 2301-2304 may include software,hardware, or firmware instructions (or a combination thereof) executableby one or more processors, alone or in various combinations with eachother. For example, modules 2301-2304 may be configured to interact witheach other and/or other modules of server 250 and/or a wearable camerasystem to perform functions consistent with disclosed embodiments. Insome embodiments, any of the disclosed modules may each includededicated sensors (e.g., IR, image sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIG. 24 shows an example environment including wearable apparatus 110for capturing and processing images. In the depicted embodiment, user100 may wear wearable apparatus 110 on his or her neck. However, inother embodiments, wearable apparatus 110 may be differently positionedin any suitable location to enable capture of images of the user'senvironment, such as the locations explained in detail above. User 100may be at a convenience store, grocery store, or other type of store.Wearable apparatus 110 may capture a plurality of images depicting theenvironment to which the user is exposed while user 100 is shopping inthe store. For example, wearable apparatus 110 may capture images thatinclude display case 2402 and/or advertisement 2404 mounted abovedisplay case 2402. The images may show that the user 100 is exposed torecognizable items, such as beverages 2406 and 2408. The beverages 2406may be a first brand, such as Ben's Cola, and the beverages 2408 may bea second brand, such as Coco Water. The advertisement 2404 may bepromoting a particular brand of product, such as Coco Water. The imagesdepicting the exposure of user 100 to particular recognizable items maybe included in a log saved in database 2305.

FIG. 24 shows user 100 being exposed to display case 2402. However, aswould be understood by one of ordinary skill in the art, wearableapparatus 110 may capture images throughout the user's day at a varietyof locations as the environment surrounding the user changes. Forexample, images may be captured when the user visits a restaurant fordinner, commutes to and from work, attends social events, etc. In thisway, wearable apparatus 110 may be configured to monitor the environmentsurrounding user 100 throughout the user's activities to identifyexposure to recognizable items throughout the time user wears wearableapparatus 110.

FIG. 25A illustrates a flowchart of an exemplary method 2500 foridentifying exposure to a recognizable item, consistent with embodimentsof the present disclosure. The method 2500 may be carried out, forexample, by a processing device integrated with and/or associated withwearable apparatus 110. In such an embodiment, wearable apparatus 110may include a wearable image sensor, e.g. image sensor 220, configuredto capture a plurality of images from the environment of the user. Forexemplary purposes only, the method 2500 for identifying exposure to arecognizable item is described herein with respect to processing device210 cooperating with memory 550 to execute modules 2301-2304.

In accordance with the method 2500, the processor 210 may receive imagedata captured by a wearable image sensor at block 2502. Block 2502 maybe facilitated by software instructions of data capture module 2301.Data capture module 2301 may be configured to execute instructions toreceive image data from a wearable image sensor, and may also beconfigured to execute instructions to control the wearable image sensor.Controlling the wearable image sensor may include issuing commands torecord images and/or videos, and may also include issuing commands tocontrol an orientation or direction of viewing of the image sensor.

Received image data may be processed via software steps executed byrecognizable item identification module 2302. For example, at block2504, recognizable item identification module 2302 may identify one ormore images including the recognizable item from a plurality of capturedimages. For example, the recognizable item may be a beverage product,and the module 2302 may analyze the plurality of images to identify asubset of the captured images that include items sized, shaped, orotherwise resembling a beverage product. In another embodiment, therecognizable item may be footwear products, and the module 2302 mayidentify a subset of the captured images that include footwear products,for example, on display cases in stores. In another example, at block2504, recognizable item identification module 2302 may identify uniqueinstances of the recognizable item appearing in the plurality ofcaptured images.

At block 2506, the recognizable item identification module 2302 mayfurther analyze the subset of the captured images including therecognizable item to determine information associated with therecognizable item. The information associated with the recognizable itemmay include a product name, a product logo, a product type, or any otheridentifier of the given product. For example, the module 2302 mayidentify a subset of ten images that include the recognizable item inthe form of a beverage product. The module 2302 may then further analyzethat subset of images to identify that two of the ten images includeCocaCola™ brand products, and the remaining eight images include Pepsi™products. In this example, the information associated with therecognizable item (i.e., beverage product) may be the logo associatedwith a given brand of cola product. In this way, the method 2500 mayinclude identifying a subset of images including the recognizable itemand analyzing those images to identify information indicative of theexposure a user of wearable apparatus 110 has to a given brand. In someembodiments, the information associated with the recognizable item mayinclude an image or a portion of an image. The image may include atleast a portion of the recognizable item. In other embodiments, theimage may include an environment, and the image may have been capturedwithin a threshold amount of time (e.g., 1 second, 5 seconds, 10seconds, etc.) after wearable apparatus 100 capturing an image includingat least a portion of the recognizable item.

At block 2508, the method 2500 may further include receiving informationidentifying a wearer of wearable apparatus 110 from which the capturedimages were acquired. The information identifying the user of thewearable apparatus may include the user's name, a code identifying theuser, information identifying a profile of the user, at least onedemographic characteristic of the user (e.g., age, income, and/orgeographical location), or any other identifying information. Forexample, in one embodiment, action execution module 2303 may accessdatabases 2305 via database access module 2304 to receive the metadataassociated with the subset of the plurality of images including therecognizable item. In other embodiments, the information identifying thewearer of wearable apparatus 110 may be input by the wearer, forexample, via a keyboard, graphical user interface, or other suitableinput device. Still further, in other embodiments, action executionmodule 2303 may be configured to perform image analysis on one or morecaptured images of the wearer to identify the wearer. In otherembodiments, action execution module 2303 may determine the identity ofthe wearer based on device registration information provided by thewearer when setting up an account on the wearable device or a devicecapable of communicating with the wearable device (e.g., a cellphone,tablet, laptop, or other mobile or fixed electronic device). Indeed,presently contemplated embodiments include any suitable method forreceiving or determining the information identifying the user ofwearable apparatus 110.

In the embodiment illustrated in FIG. 25A, at block 2510, the dataincluding the information associated with the recognizable item and theinformation identifying the user of the wearable apparatus istransmitted to an external device. The external device may be asmartphone, tablet, smartwatch, laptop, server, or any other suitabledevice configured to process the transmitted data. To that end, theexternal device and the wearable apparatus may include suitablecomponents to enable data transfer between the wearable apparatus andthe external device. For example, in one embodiment, the wearableapparatus may include a transmitter configured to enable wirelesspairing with a receiver located in the external device. In suchembodiments, the wearable apparatus and the external device may bereversibly or irreversibly paired to enable exclusive data transferbetween the two devices. The pairing may be established by the user ofthe wearable apparatus and external device, or may be automaticallyperformed when the wearable apparatus and the external device are withina given distance from one another (e.g., within a range such that thetransmitter and receiver are capable of exchanging data).

However, in other embodiments, the transfer of data to the externaldevice at block 2510 may be omitted from method 2500, and furtherprocessing of the data may be performed by the wearable apparatus 110,for example, in action execution module 2303. That is, either the actionexecution module 2303 or the external device may perform one or more ofthe steps in method 2520 shown in FIG. 25B for determining the exposurelevel of one or more users to the recognizable item. In embodiments inwhich the data is transferred from wearable apparatus 110 to theexternal device, method 2520 includes receiving information associatedwith the recognizable item and derived from images captured by one ormore wearable image sensors. For example, in some embodiments, theexternal device may be configured to identify exposure to a recognizableitem by a population of users of a plurality of wearable camera systems.To that end, the external device may receive data from the plurality ofwearable camera systems, each associated with one user of the populationof users. As before, the data may include information derived from thecaptured image data, such as a product name, product logo, or producttype.

In order to identify an exposure level of one or more users to therecognizable item, the method 2520 also includes accessing stored datareflecting past occurrences when one or more users were exposed to therecognizable item, at block 2524. For example, the stored data may bestored on databases 2305. The stored data may include raw image datacorresponding to images in which the recognizable item was identified orprocessed image data including statistics specific to each userregarding how many times and/or when each user was exposed to therecognizable item. The stored data may be accessed by utilizing theinformation identifying the user of the wearable apparatus and locatingpast image data associated with a given user.

At block 2526, the method 2520 includes determining an exposure level ofthe one or more users to the recognizable item. In some embodiments, theexposure level of a single user to the recognizable item may bedetermined. The exposure level may represent a relative or absolutelevel of exposure to the recognizable item, such as a total number oftimes a user encountered the recognizable item or a frequency at whichthe user encounters the recognizable item, the number of uniqueinstances of the recognizable item a user is exposed to, and so forth.The frequency may be measured on the basis of any desired timeincrement, such as an hourly, daily, monthly, or annual basis. Further,in some embodiments, the method 2520 includes determining an exposurelevel of the user to the recognizable item as compared to an exposurelevel of an additional item. The recognizable item and the additionalitem may each be a different brand. For example, the method 2520 mayanalyze the captured images to determine the relative brand exposure ofthe user to CocaCola™ brand items as compared to Pepsi™ brand items.

In other embodiments, the exposure level of a given population of usersto the recognizable item may be determined at block 2526. For example,in one embodiment, the population of users may be a particular agegroup, such as a millennial age group comprised of 18-22 year olds. Eachuser in the millennial age group may be a user of a camera of theplurality of wearable cameras. The information of all the users in themillennial age group may be aggregated to determine the exposure levelof the millennial age group to the recognizable item. In suchembodiments, the exposure level may represent an aggregated value of anexposure per unit time for the population of users, or a group of thepopulation of users, of the plurality of wearable cameras. The group ofthe population of users may include two or more users, three or moreusers, one hundred or more users, the entire population of users, or anyother desired number of users. For example, in one embodiment, themethod 2520 may include determining, for each user in the millennial agegroup, an exposure level to Pepsi™ brand products on a monthly basis.The exposure level of the population of millennial users may then bedetermined by aggregating the exposure levels of each of the users todetermine an aggregated exposure level on a monthly basis for allmillennials. The individual exposure levels may be aggregated byaveraging, locating a median, or any other suitable data analysismethod.

Still further, in other embodiments, method 2520 may include receivingor determining from the captured image data information associated withadditional recognizable items, such as a second recognizable item. Theinformation associated with the additional recognizable items, such asthe second recognizable item, may be derived from image data captured byone or more of a plurality of wearable camera systems. Method 2520 maythen include analyzing the information associated with the secondrecognizable item to determine a second exposure level of the users tothe second recognizable item. As with the initial exposure level, thesecond exposure level may represent an aggregated value of an exposureper unit time for a group of one or more users. In embodiments in whichthe exposure level of one or more users to more than one recognizableitem are determined, method 2520 may include assessing the firstexposure level with respect to the additional exposure level. Theassessment may include comparing, contrasting, or otherwise analyzingthe exposure levels relative to one another. Still further, in someembodiments, the first exposure level may be associated with a firsttime period (e.g., the summer months), and the second exposure level maybe associated with a second time period (e.g., the fall months).

In some embodiments, actions may include acquiring and storing data froman environment of a user. For example, a user may trigger a wearableapparatus to record data related to their environment by saying “recordimage and audio for 30 seconds.” Actions may also include creating andupdating task lists, such as shopping lists, reminder lists, and to-dolists. For example, data capture module 601 may capture an image of acar's gas tank gauge, trigger identification module 602 may analyze theimage to determine that the car is low on fuel, and action executionmodule 603, in response, may create a task for the user to fill the carwith fuel. In further embodiments, actions may adjust the settings of adevice, such as a smartphone or tablet, controlled by a wearable camerasystem. For example, ambient noise may trigger a controlled device toincrease volume.

Database access module 604 may be configured to access database(s) 605,for example, to retrieve or store images and/or audio data captured viadata capture module 601. In some embodiments, database 605 may beconfigured to store trigger detection related information, such asimages, audio, and/or video with which trigger identification module 602may compare data for trigger detection. Database 605 may be configuredto store any type of information of use to modules 601-604.

The above methods (e.g., method 2500 and 2520) may further include othersteps or processes disclosed herein but not presented in FIGS. 25A and25B, such as those discussed above in connection with any of the otherfigures in this disclosure.

Providing Recommendations Based on Tracked Activities

In some embodiments, wearable apparatus 110 may track activities of auser and/or other person who appears in images captured by wearableapparatus 119. Wearable apparatus 119 may analyze and/or classify theimages, and send data based on the images to another device (e.g., asmartphone, tablet, smartwatch, computer, etc.). For example, wearableapparatus 110 may track a variety of activities related to a person'sdiet, wellness, and fitness, and provide recommendations and/or reportsbased on the tracking. The data gained from this analysis may be used toprovide recommendations for health and wellness improvements. forexample, the analysis may include determining that a room includes awindow with bright light and providing feedback to the user to move adesk to a new position and/or angle to capitalize on the light.

As other examples, in some embodiments, the analysis may includecounting the number of exercise repetitions and providing feedbackregarding a user's exercise routine, or analyzing food consumed by theuser and providing dietary recommendations. Further, wearable apparatus110 may analyze captured images and classify a particular activityoccurring in the image and send data to another device (e.g., asmartphone). The device may then execute an application that provides agraphical representation of activities that the user has engaged in,including, for example, graphs, pie charts, and other visualrepresentations providing feedback regarding the activities. Based onthe data received from wearable apparatus 110, the device may providereminders (e.g., alerts) indicating how the user is doing and whetherthe goals are being met, and/or how much time is spent engaged in theactivity.

FIG. 26 is a diagram illustrating an example of memory 550 storing aplurality of modules, consistent with the disclosed embodiments. Themodules may be executable by at least one processing device to performvarious methods and processes disclosed herein. Memory 550 may storemore or fewer modules than those shown in FIG. 26.

As illustrated in FIG. 26, memory 550 may store software instructions toexecute a data capture module 2601, a activity indicator identificationmodule 2602, an action execution module 2603, a database access module2604, and may include database(s) 2605. Data capture module 2601 mayinclude software instructions for receiving data from wearable apparatus110. Activity indicator identification module 2602 may include softwareinstructions for analyzing data obtained by wearable apparatus 110 totrack the activities of a user of the wearable apparatus 110 or a personappearing in images captured by the wearable apparatus 110. Actionexecution module 2603 may include software instructions to cause theoccurrence of an action based on the tracked activities identified inacquired data. Database module 2604 may include software instructionsexecutable to interact with database or databases 2605, to store and/orretrieve information.

Data capture module 2601 may include software instructions for receivingdata from a wearable apparatus, such as a wearable camera system. Datareceived from a wearable camera system may include audio and image data,captured, by, for example, an image sensor or microphone associated withthe wearable camera system. Image data may include raw images and mayinclude image data that has been processed. Raw images may be provided,for example, in the form of still images and video data. In someembodiments, image data and audio data may be preprocessed prior tocapture by data capture module 2601. Preprocessing may include, forexample, noise reduction, artifact removal, compression, and other imagepre-processing techniques.

Activity indicator identification module 2602 may be configured toanalyze data captured by data capture module 601 to detect or identifyat least one indicator of a monitored activity. Identifying or detectingthe at least one indicator of activity may include, for example, thedetection of objects, contexts, situations, people, products, words,text, pictures, actions, and any other identifiable feature in an imageor series of images. The at least one indicator of activity may includea description, a classification, or a category of activity. For example,the activity may relate to the wellness or health of the user, such as afitness activity (e.g., running, walking, playing sports, eating healthyfoods, etc.). In such an embodiment, the at least one indicator ofactivity may be a level of intensity of a cardiovascular workout, suchas running. In another embodiment, the indicator of activity may be anumber of exercise repetitions performed by the user. In anotherembodiment, the indicator of activity may be an amount of a type of foodconsumed, such as amounts of vegetables and/or sweets consumed. Further,the at least one indicator of activity may include information relatedto the surroundings of the user. For example, the information mayindicate that the user is at a health club, in a restaurant, sitting ona bus, etc.

The at least one indicator of activity may be detected or identified instill images or in video images, and/or based on the relationship ofidentifiable features with respect to one another in an image or video.For example, a person's relative position with respect to a point in thedistance may indicate that the person is approaching toward the point inthe distance and, therefore, engaging in an activity such as walking orrunning. In some embodiments, the at least one indicator of activity maybe audio related, including the detection of certain sounds, speech,and/or speech patterns in audio data. For example, a specific sequenceof words may be a trigger, such as an instructor announcing thebeginning of a spinning class. Some indicators of activity may includecombinations of audio and image indications. For example, a specificimage identified in conjunction with a specific sequence of words may bean indicator of a type of activity. For example, an image may indicatethat the user is wearing athletic clothing, and an audio recording mayindicate that the user is reciting a mantra, indicating that the user ispracticing yoga.

Action execution module 2603 may be configured to perform a specificaction in response to the identification of at least one indicator ofactivity. In some embodiments, actions may include transmitting the atleast one indicator of activity to an external device (e.g., asmartphone, tablet, laptop, smartwatch, etc.) for further processing.However, in other embodiments, action execution module 2603 may respondto the presence of at least one indicator of activity to provide arecommendation, reminder, and/or representation related to the indicatorof activity to the user, as described in more detail below.

Database access module 2604 may be configured to access database(s)2605, for example, to retrieve or store images and/or audio datacaptured via data capture module 2601. In some embodiments, database2605 may be configured to store information related to the at least oneindicator of activity, such as images, audio, and/or video with whichactivity indicator identification module 2602 may compare data foractivity indicator detection. Database 2605 may be configured to storeany type of information of use to modules 2601-2604.

Modules 2601-2604 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored in memory 550, as shown inFIG. 6. However, in some embodiments, any one or more of modules2601-2604 and data associated with database 2605, may, for example, bestored in processor 540 and/or located on server 250, which may includeone or more processing devices. Processing devices of server 250 may beconfigured to execute the instructions of modules 2601-2604. In someembodiments, aspects of modules 2601-2604 may include software,hardware, or firmware instructions (or a combination thereof) executableby one or more processors, alone or in various combinations with eachother. For example, modules 2601-2604 may be configured to interact witheach other and/or other modules of server 250 and/or a wearable camerasystem to perform functions consistent with disclosed embodiments. Insome embodiments, any of the disclosed modules may each includededicated sensors (e.g., IR, image sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIGS. 27A and 27B show example environments including wearable apparatus110 for capturing and processing images. In the depicted embodiment,user 100 may wear wearable apparatus 110 on his or her neck. However, inother embodiments, wearable apparatus 110 may be differently positionedin any suitable location to enable capture of images of the user'senvironment, such as the locations explained in detail above. User 100may be at a restaurant, as depicted in FIG. 27A, a gym, as depicted inFIG. 27B, or at any other location throughout the user's day, such as aconvenience store, grocery store, fitness class, sports field, etc.Wearable apparatus 110 may capture a plurality of images depicting theenvironment to which the user is exposed while user 100 is eating at therestaurant or exercising in the gym. For example, in the embodimentshown in FIG. 27A, wearable apparatus 110 may capture images thatinclude a restaurant table 2702 and the user's plate 2704 having avariety of food the user is eating. In such an embodiment, the at leastone indicator of activity may be a quantity of a type of food that isconsumed, such as 1 pound of chicken or two servings of peas. The atleast one indicator of activity may also be a length of time spentsitting and eating.

In the embodiment shown in FIG. 27B, the user 100 of the wearableapparatus 110 is running on treadmill 2706. The at least one indicatorof activity may be a length of time the user 100 ran or the intensity ofthe user's activity. The at least one indicator of activity may beidentified from the captured images via any suitable image analysismethod. For example, the wearable apparatus 110 may capture images ofthe dashboard on the treadmill 2706 showing how far or long the user 100ran while using the treadmill 2706. In another embodiment, wearableapparatus 110 may capture a similar image of the treadmill 2706 over agiven period of time (e.g., 30 minutes), and the module 2602 may inferthat the user exercised for 30 minutes based on the length of timebetween the capture of the first image of the treadmill 2706 and thecapture of the first image of a new environment. Further, in someembodiments, wearable apparatus 110 may capture images reflecting anumber of repetitions of a particular exercise (e.g., pushups, sit-ups,weight lifting, etc.).

Still further, it should be noted that presently contemplatedembodiments are not limited to tracking indicators of activity of theuser 100 of the wearable apparatus 110. In some embodiments, the atleast one indicator of activity may indicate activity of a person otherthan user 100. For example, user 100 may attend a sporting event. Whileuser 100 is watching a soccer game, wearable apparatus 110 may captureimages of the movement of the players, and the at least one indicator ofactivity may indicate the activity of a soccer player. In anotherembodiment, user 100 may interact frequently with her childrenthroughout a day, and the at least one indicator of activity mayindicate an activity level of her children. Indeed, the at least oneindicator of activity may indicate the activity of user 100 or a personother than user 100, depending on implementation-specificconsiderations.

FIG. 28A illustrates a flowchart of an exemplary method 2800 formonitoring an activity, consistent with embodiments of the presentdisclosure. The method 2800 may be carried out, for example, by aprocessing device integrated with and/or associated with wearableapparatus 110. In such an embodiment, wearable apparatus 110 may includea wearable image sensor, e.g. image sensor 220, configured to capture aplurality of images from the environment of the user. For exemplarypurposes only, the method 2800 for monitoring an activity is describedherein with respect to processing device 210 cooperating with memory 550to execute modules 2601-2604.

In accordance with the method 2800, the processor 210 may receive imagedata captured by a wearable image sensor at block 2802. Block 2802 maybe facilitated by software instructions of data capture module 2601.Data capture module 2601 may be configured to execute instructions toreceive image data from a wearable image sensor, and may also beconfigured to execute instructions to control the wearable image sensor.Controlling the wearable image sensor may include issuing commands torecord images and/or videos, and may also include issuing commands tocontrol an orientation or direction of viewing of the image sensor.

At block 2804, the method 2800 also includes analyzing the image data toidentify at least one indicator of activity, as described in detailabove with respect to activity indicator identification module 2602. Theactivity may involve the user of the wearable apparatus and/or a personother than the user of the wearable apparatus. To that end, the method2800 may include processing the image data to identify an activityoccurring in the environment of user 100. For example, the processingdevice may process the images to identify a soccer game occurring in theenvironment of user 100 and to determine if the user is watching orplaying in the soccer game. In some embodiments, the processing devicemay identify, from the images, an indicator that user 100 has performedor is performing the activity (e.g., playing the soccer game).

At block 2806, the method 2800 may also include transmitting the atleast one indicator of activity category to an external device. Theexternal device may be a remotely located computing device, such as asmartphone, tablet, laptop, smartwatch, etc. The transmission may beperformed via a communications interface, such as wireless transceiver530 and/or 530 b. In such embodiments, the wearable apparatus and theexternal device may be reversibly or irreversibly paired to enableexclusive data transfer between the two devices. The pairing may beestablished by the user of the wearable apparatus and external device,or may be automatically performed when the wearable apparatus and theexternal device are within a given distance from one another (e.g.,within a range such that the transmitter and receiver are capable ofexchanging data). For example, the processing device may cause theindicator that the user is watching the soccer game for a tracked periodof time to be transmitted to computing device 120 and/or server 250 whenboth are located within the same room or building. However, it should benoted that in other embodiments, the action execution module 2603 maynot transmit the at least one indicator of activity. Instead, the actionexecution module 2603 may proceed to execute blocks 2824, 2826, and 2828of method 2820 shown in FIG. 28B.

Further, in some embodiments, the at least one indicator of the activitymay include an image or a portion of an image depicting the activity. Inother embodiments, the image may include an environment, and the imagemay have been captured within a threshold amount of time (e.g., 1second, 5 seconds, 10 seconds, etc.) after wearable apparatus 100captured an image of the activity.

In embodiments in which the wearable apparatus 110 does transmit the atleast one indicator of activity to an external device, the externaldevice receives such an indicator at block 2822 of the method 2820. Theexternal device may be programmed to analyze the at least one indicatorof activity and select at least one content item (e.g., arecommendation, keyword, etc.) and provide the content item (e.g., oneor more recommendations or reports) to the user or other person whoseactivity was tracked. For example, at block 2824, computing device 120and/or server 250 may select a recommendation for an activityimprovement (e.g., suggesting that a user increase the number ofrepetitions of an exercise) and transmit the recommendation to the uservia a processing device (e.g., smartphone, tablet, laptop, smartwatch,etc.) paired with the wearable apparatus 110. In some embodiments, theprocessing device of wearable apparatus 110 may cause the recommendationto be output to user 100 through feedback outputting unit 230. Further,the processing device may select, from a plurality of recommendationsstored in recommendation database 2605, a recommendation for user 100based on the at least one indicator of activity.

The recommendations provided to the tracked person may be related to avariety of activities, such as a person's diet, wellness, and fitness.For example, in one embodiment, the transmitted recommendation mayrelate to a location of a user and may recommend adjusting or modifyingat least one aspect of the surroundings of the user. For example,identifying the at least one indicator of activity may include analyzingthat a room includes a window with a certain level of light (e.g.,bright light), and the provided recommendation may be to move a desk orchair to a new position or angle within the room to capitalize on oravoid the light. In another embodiment, the at least one indicator ofactivity may be a number of exercise repetitions, and the providedrecommendation may be to perform a higher or lower number of repetitionsin order to achieve a goal (e.g., perform fewer repetitions of a higherweight to build more muscle mass). In another embodiment, the at leastone indicator of activity may be a relative amount of meat eaten versusvegetables eaten, and the recommendation may be to fill a certainpercentage of the user's plate with vegetables at each meal.

Still further, in another embodiment, the at least one content itemselected based on the analysis of the at least one indicator of activitymay include at least one keyword. In such embodiments, the externaldevice may be programmed to prepare at least one search query based onthe at least one keyword, and transmit the at least one search query toa search engine. For example, in one embodiment, the keywords mayinclude a healthy type of food, such as quinoa, and the search willoutput information related to desirable quantities of consumption, factsabout the nutritional profile of quinoa, and so forth.

The method 2820 may further include transmitting at least one graphicalrepresentation related to the activity to the user based on the at leastone indicator of activity. For example, the at least one indicator ofactivity may be a classification of a particular activity occurring inthe image (e.g., aerobic exercise, anaerobic exercise, sedentaryactivity, etc.). The external device may then execute an applicationthat provides or displays a graphical representation (e.g., on a userinterface or screen) of activities that the user has engaged in,including, for example, graphs, pie charts, and other visualrepresentations providing feedback regarding the classifications ofactivities. For example, the graphical representation may show arelative or absolute amount of time a user engaged in an activity. Forexample, the representation may show that the user spends 10% of histime exercising on cardiovascular activities, and 90% of his time weightlifting.

Based on the at least one indicator of activity and/or the graphicalrepresentations, the external device may provide reminders (e.g.,alerts) related to the activity at block 2828. For example, the externaldevice may provide a reminder to go to the gym in the morning if the atleast one indicator of activity indicates that the user slept in theprior morning. Other example reminders may indicate whether the user'sgoals are being met and/or how much time is spent engaged in a range ofactivities throughout the day. For example, the reminders may include aprogress level related to an activity, such as a number of steps walkedrelative to a goal number of steps to walk in a given time period (e.g.,a day).

Still further, presently contemplated embodiments include methods mayinclude one indicator of activity, or multiple indicators of activity.In one embodiment, a method may include analyzing the plurality ofimages to estimate a distance associated with an activity (e.g., adistance associated with the path covered by the runner in FIG. 27B). Insuch embodiments, based on the distance associated with the activity,the method may determine whether to transmit the at least one indicatorof the activity. However, any suitable metric may be used as a basis fordetermining whether the at least one indicator of activity istransmitted, including but not limited to, for example, a number ofexercise repetitions, amount of food consumed, etc.

Additionally, in some embodiments, the method may include analyzing theplurality of images to identify in one or more of the plurality ofimages at least one indicator of more than one activity, such as asecond activity. For instance, the plurality of images may be analyzedto estimate a distance associated with the second activity and, based onthe distance associated with the activity and on the distance associatedwith the second activity, select at least one activity of a group ofactivities. The group of activities may include the activity and thesecond activity. For example, if the analysis of the plurality of imagesindicates that a user covers a longer distance on an elliptical machinethan on a treadmill, the method may include suggesting that futureworkouts are performed on the elliptical.

There are various ways of distributing and dividing tasks or subtasksamong wearable apparatus 110, computing device 120, and server 250.Regardless of which task or subtask is performed by which device, anysuitable allocation of computation power among the devices forperforming the above-described tasks are within the purview of thepresent application. Further, the above methods (e.g., method 2800 and2820) may further include other steps or processes disclosed herein butnot presented in FIGS. 28A and 28B, such as those discussed above inconnection with any of the other figures in this disclosure.

Determining Emotional Environment from Facial Expressions

In some embodiments, wearable apparatus 110 may capture and analyzeimages to determine: the emotional state (e.g., friendliness) of aperson in the wearer's environment, the emotional environment of thewearer, and so forth. For example, wearable apparatus 110 may analyzeimages to count smiles and recognize facial expressions in order toarrive at data representing the emotional state of a person. The datarepresenting the emotional state or emotional environment may betransmitted to another device (e.g., a smartphone, tablet, watch,computer, etc.) and/or a server for analysis and/or reporting to theuser.

An emotional environment is more than the physical surroundings of thewearer of apparatus 110. The emotional environment may include theemotions of individuals that the wearer interacts with. The emotionalenvironment of the wearer may include: relationships with others,behavior of individuals in the wearer's environment, routines of thewearer or individuals in the wearer's environment, and so forth. Thus,the emotional environment is a measure of feelings, whether good, bad,or neutral. In some embodiments, wearable apparatus 110 may determinethe emotional environment of the wearer by determining identities,facial expressions, and/or emotional states of people in the wearer'senvironment.

FIG. 29 is a schematic illustration of an example system 2900 includingwearable apparatus 110, worn by user 100, and optional external devicescomputing device 120 and/or server 250 capable of communicating withwearable apparatus 110 via network 240, consistent with disclosedembodiments. System 2900 may be used for determining the emotionalenvironment of the wearer, the emotional state of a person in theenvironment of the user 100, the identity of the person the environmentof the user 100, etc. In some embodiments, wearable apparatus 110 may beconfigured as shown in FIG. 7. For example, wearable apparatus 110 mayinclude an orientation adjustment unit 705 configured to permitadjustment of image sensor 220.

In some embodiments, wearable apparatus 110 may include one or moresensors to determine a state of user 100. For example, as shown in FIG.29, wearable apparatus 110 may include a portion that is in contact withthe skin of user 100. Wearable apparatus 110 may thus include sensors todetermine physiological parameters of user 100. In some embodiments,wearable apparatus 110 may include sensors for monitoring galvanic skinresponse, heart activity (e.g., ECG or heart sounds), temperature, etc.Wearable apparatus 110 may receive information from the sensors todetermine a state of user 100. For example, wearable apparatus 110 mayreceive information that user 100 is sweating and has a high heart rate.This may indicate that user 100 is scared, in love, exercising, etc.

Wearable apparatus 110 may be configured to capture one or more imagesof user 100's environment using image sensor 220. For example, user 100may face one or more person such that image sensor 220 may captureimages the one or more person. The images may include the face(s) of theone or more person, including the facial expression(s). In system 2900,wearable apparatus 110 is shown with a field-of-view that includesperson (or persons) 2901. Any of the person or persons in view of user100 may have any number of facial expressions, such as a smile, a frown,or pursed lips. The facial expressions may correlate to emotionalstates, such as happy 2910, sad 2911, indifferent 2912, etc.

Wearable apparatus 110 may be configured to analyze the captured imagesto identify the facial expression of the person in the image (forsimplicity the description will focus on a single person, but it iscontemplated that more than one person and, thus, more than one facialexpression may be in the image or images). For example, wearableapparatus 110 may use facial recognition algorithms to determine thedegree of a smile or the number of times a person smiles within apredetermined time period (e.g., 1, 5, 10, 30 seconds, etc.). Wearableapparatus 110 may be further configured to classify the analyzed facialexpression, such as happy 2910, sad 2911, or indifferent 2912. In someexamples, wearable apparatus 110 may determine a friendliness levelbased on the identified facial expression. For example, if the wearableapparatus 110 determines that the person smiles more than apredetermined number of times (e.g., 1, 2, 5, 10, etc.) within apredetermined amount of time (e.g., 1, 5, 10, 30 seconds, etc.), thefacial expression may be classified as friendly. The threshold number ofsmiles and threshold amount of time can vary based on the degree offriendliness, on past information associated with the person, and soforth.

Wearable apparatus 110 may store information associated with theidentified facial expression in, for example, memory 550. Theinformation may include data structures including facial features suchas landmarks from the image of the person's face. For example, wearableapparatus 110 may analyze the relative position, size, and/or shape ofthe eyes, nose, cheekbones, lips, and jaw, and store the information ina suitable data structure.

In some embodiments, wearable apparatus 110 may be configured totransmit the information associated with the facial expression (e.g.,stored data structures) to computing device 120 and/or server 250.Wearable apparatus may transmit the information wirelessly (e.g., Wi-Fi,Bluetooth®, etc.) or use network 240, as described above. In someexamples, computing device 120 may be a smartphone, a tablet, asmartwatch, or the like. In some embodiments, wearable apparatus 110 mayinclude a wireless transceiver 530 or other transmitter to allowwireless apparatus to “pair” with a receiver in computing device 120and/or server 250. For example, wearable apparatus may utilizeBluetooth® to pair with computing device 120 and/or server 250.

In some embodiments, wearable apparatus 110 may transmit informationassociated with the identified facial expression to computing device 120and/or server 250, and computing device 120 and/or server 250 maydetermine a classification of the emotional state of the person in theimage. The classification may be based on the received information. Insome embodiments, an external device may be used to classify theperson's mood (e.g., emotional state). For example, wearable apparatus110 may transmit the relative position, size, and/or shape of the eyes,nose, cheekbones, lips, and jaw to computing device 120 and/or server250, where facial recognition is used to determine a mood of the person(e.g., using emotional analysis algorithms).

In some embodiments, the external devices may transmit information to adevice paired with wearable apparatus 110. For example, server 250 maydetermine a classification of emotional state based on informationreceived from wearable apparatus 110. Server 250 may also receive a listof devices paired with wearable apparatus 110, such as computing device120. Server 250 may transmit the classification to one or more of thepaired devices, such as to computing device 120, instead of transmittingthe classification back to wearable apparatus 110.

In some embodiments, the wearable apparatus 110 may determine theidentity of the person in the image, for example, using a facerecognition algorithm. Information associated with the identity of theperson may be transmitted to the external device. In other embodiments,the external device may determine the identity of the person in theimage based on information received from wearable apparatus 110. In someexamples, the external device may include a database of peopleassociated with user 100. The database may include records that includeprofiles of individuals. The profiles may be linked in a social graph,or otherwise linked to determine relationships between the individualsand/or user 100. The external device may match the received informationwith characteristics if the individuals in the database to determine theidentity of the person in the image. The external device may also beconfigured to update the record of the identified with the determinedfacial expression or classification of emotional state. Thus, user 100may be able to maintain a current record of interactions withindividuals in the database.

In some embodiments, the external device (e.g., computing device 120and/or server 250) may be configured to display the information receivedfrom wearable device 110. In some examples, the external device mayinclude a display screen, such as an LCD display, and OLED display, andLED display, a touch display, or other display suitable for displayingthe information received from wearable device 110. The information maybe displayed as part of a graphical user interface (GUI), with orwithout detailed information about the person.

In some embodiments, wearable apparatus 110 and/or the externalcomputing device may determine the facial expression and/or identity ofa second person in the one or more images. In some examples, informationassociated with the second person's facial expression and identity maybe stored in memory 550 in the same or a different data structure as thefirst person. In some embodiments, the information associated with thesecond person may be transmitted to the external device. In someexamples, the external device may include a record, such a social graph,with profiles of the first and second persons. In other examples, theexternal device may include separate records for each person withlinking identifiers to link records together (e.g., friendship status,family status, associations with landmarks or places, etc.). Theexternal device may be configured to update the record or recordsassociated with the identified persons with the determined facialexpressions of each person.

In some embodiments, wearable apparatus 110 may provide informationassociated with the identified facial expression to user 100. Forexample, feedback outputting unit 230 may use a Bluetooth®, or otherwired or wirelessly connected speaker, or a bone conduction headphone toinform the user about the facial expression. In other embodiments,wearable apparatus 110 may provide information to user 100 of theidentity of the person and/or the mood of the person. In someembodiments, wearable apparatus 110 may provide user 100 with adescription of the emotional environment around the user. For example,the information may include changes in an emotional state of the peoplearound user 100, information about the interaction of user 100 with theindividuals in user 100's environment, etc.

FIG. 30 illustrates an exemplary embodiment of memory containingsoftware modules to determine the emotional state of a person in thewearer's environment. For example, one or more of processors 210,processor 540, or server 250 may execute instructions from the modulesto perform one or more of the functions as described with respect toFIG. 29, above. Included in memory 550 are capturing module 3001,analysis module 3002, transmitting module 3003, and optional orientationidentification module 601, optional orientation adjustment module 602,and optional monitoring module 603. Modules 3001, 3002, 3003, 601, 602,and 603 may contain software instructions for execution by at least oneprocessing device, e.g., processor 210, included with a wearableapparatus 110, processor 540, or a processor included in server 250.Capturing module 3001, analysis module 3002, and transmitting module3003 may cooperate to provide information associated with the facialexpression of the person in the wearer's environment.

Capturing module 3001 may be configured to control image sensor 220 totake an image or images of the environment of the user 100. An image maybe taken when commanded by user 100 or automatically when apredetermined event occurs. For example, user 100 may gesture towearable apparatus 110 with a specific gesture to cause an image to becaptured. User 100 may alternatively select a virtual button on adisplay of an external device paired with wearable apparatus 110, whichselection may cause capturing module to take an image. User 100 maydepress a physical button on wearable device 110 to cause the sameaction. In other examples, the image may be taken when sound occurs, orother predetermined event occurs (e.g., a trigger event). Capturingmodule 3001 may cause an image or images to be taken and then store theimage or images, for example, in memory 550.

Analysis module 3002 may be configured to retrieve the captured image orimages and analyze the image or images to determine an emotionalenvironment of user 100, facial expressions of a person or persons inthe image or images, an emotional state of a person in the image orimages, an identity of a person or persons in the one or more images,etc. Analysis module 3002 may use facial detection and recognition todetermine the mood (e.g., emotional state) of one or more persons in thecaptured one or more images. Analysis module 3002 may include algorithmsto detect faces within the captured image, and sense micro expressionsby analyzing the relationship between points on each face, based oncurated and annotated databases. The module may use facial detection,eye tracking, and specific facial position cues to determine theperson's expression and mood. The mood may be classified into emotionalstates, such as happy, sad, indifferent, angry, etc. In some examples,features of a facial expression may be used to determine the mood.Analysis module 3002 may use features identified on the one or morepersons' face(s) to determine the mood. The features may be weighted andaggregated to produce an overall mood score. In some examples, theweighted features may be plotted and fit to a reference in order todetermine the mood score.

In some embodiments, analysis module 3002 may detect a number of times aperson smiles, frowns, yawns, etc. within a predetermined time. Athreshold may be set, such that if the number of smiles, for example,exceeds a predetermined value, a friendliness level of the personincreases. Likewise, if the number of frowns exceeds a predeterminedvalue, an unlikability level may increase and/or a friendliness levelmay decrease. The analysis module 3002 may use the friendliness level(or unlikability level, or other determined mood levels) to classify theemotional state of the person.

In some embodiments, analysis module 3002 may determine a relationshipbetween user 100 and the person (or persons) 2901 in the one or moreimages. The state of the user may be determined from physiologicalparameters determined by sensors in wearable apparatus 110. Informationindicative of the state of user 100 may be used with informationassociated with the one or more images, such as the emotional state,expression, and/or identity of the person or persons, to determine arelationship between user 100 and person (or persons) 2901. For example,user 100 may have a racing heart rate, sweat, etc., when the expressionof person (or persons) 2901 changes from a frown to a smile. In thiscase, the relationship may be determined to be close. In some examples,the timing associated with the state of user 100 and the identifiedfacial expressions may be used to determine interaction factors andcorrelations between user 100 and person (or persons) 2901.

In some embodiments, analysis module 3002 may store the informationassociated with the identified facial expression, identity, and/or moodof the person or persons in the one or more images in memory 550. Theinformation may be stored in data structures suitable for transmissionover low-bandwidth networks, such as Bluetooth®, or high-bandwidthnetworks, such as Wi-Fi. Transmitting module 3003 may retrieve the datastructures from memory 550 and transmit the information to one or moreexternal computing devices (e.g., a smartphone, tablet, watch, or anexternal server). Transmitting module may use radiofrequency hardwarecommunicatively coupled to an antenna to transmit the information.

In some embodiments, orientation identification module 601 andorientation adjustment module 602, described above in reference to FIG.6, may be configured to adjust and maintain the orientation of imagesensor 220 using adjusting unit 705 such that the at least one face inthe user 100's environment is fully in view of the image sensor.Monitoring module 603 may be configured to monitor the location ofcertain facial features in the image and to track the movement of thefeatures. Monitoring module 603 may interact with orientationidentification module 601 and orientation adjustment module 602 to trackthe movement of the facial features of at least one person and tomaintain those features in the field-of-view of image sensor 220.

Modules 3001, 3002, and 3003 may be implemented in software, hardware,firmware, a mix of any of those, or the like. For example, if themodules are implemented in software, they may be stored in memory 550,as shown in FIG. 6. However, in some embodiments, any one or more ofmodules 3001, 3002, and 3003, may, for example, be stored in processor540 and/or located on server 250, which may include one or moreprocessing devices. Processing devices of server 250 may be configuredto execute the instructions of modules 3001-3003. In some embodiments,aspects of modules 3001-3003 may include software, hardware, or firmwareinstructions (or a combination thereof) executable by one or moreprocessors, alone or in various combinations with each other. Forexample, modules 3001-3003 may be configured to interact with each otherand/or other modules of server 250 and/or a wearable camera system toperform functions consistent with disclosed embodiments. In someembodiments, any of the disclosed modules may each include dedicatedsensors (e.g., IR, image sensors, etc.) and/or dedicated applicationprocessing devices to perform the functionality associated with eachmodule.

FIG. 31 is a flowchart illustrating an exemplary method 3100 ofdetermining the emotional environment of a user, the emotional state ofa person, and/or the identity of a person consistent with the disclosedembodiments. The method may be implemented in a system such as shown inFIG. 5 and/or FIG. 29.

At step 3105, one or more images of an environment are captured. Theimages may be captured by wearable apparatus 110 or other suitabledevice, for example, a camera. The images may be of an environment inthe vicinity of wearable apparatus 110 (e.g., the physical surroundingsof wearable apparatus 110). For example, the images may be of theenvironment in front of user 100. In some embodiments, the images may beof a person or persons near user 100. In some embodiments, wearableapparatus 110 may execute capturing module 3001 to capture the one ormore images.

At step 3110, the one or more images are analyzed to identify a facialexpression of at least one person in the images (e.g., there may be morethan one person in the image). In some embodiments, wearable apparatus110 may analyze the images. In other embodiments, the images may betransmitted to an external computing device, such as computing device120 and/or server 250, for analysis. For example, the images may beanalyzed by executing instructions stored in analysis module 3002. Insome embodiments, the images may be analyzed to determine whether aperson is in the images, and the position and orientation of the personin the images may be determined. In some examples, the images may beanalyzed to determine that more than one person is in the images, andthe position and orientation of the persons in the images may bedetermined. For example, in the case of a single person, the person maybe determined to be facing the image capturing device such that theperson's face is visible. If the person's face is visible, the person'sfacial expression may be analyzed. In some embodiments, a single imagemay be analyzed to identify the facial expression. In this case,two-dimensional features may be analyzed. In other embodiments, aplurality of images may be combined to create a three-dimensional image.For example, the plurality of images may be captured at slightlydifferent angles, thus allowing reconstruction of a three-dimensionalimage for the two-dimensional images. The three-dimensional image maythen be analyzed and three-dimensional features may be determined.

In some embodiments, facial recognition algorithms may be used todetermine facial features on the person's face. For example, featuresand landmarks may be determined and categorized. Landmarks may be thedistance between the eyes, width of the nose, depth of the eye sockets,shape of the cheekbones, length of the jaw line, position of the lips,etc. In some embodiments, the landmarks are aggregated to create a“faceprint.” In some examples, the faceprint maybe compared to adatabase of facial expressions to determine the facial expression of theperson. In other examples, the aggregated landmarks may be converted tonumerical equivalents. The numerical equivalents may be used todetermine the facial expression of the person. For example, certainfacial expressions may fall into certain ranges of the numericalequivalents. In some examples the ranges may overlap such that somenumerical equivalents may fall into more than one facial expressionrange. In such a case, statistical methods may be used to determinewhich expression is most likely the correct expression for the person.In some embodiments, the facial expression may be identified as a smile,a frown, smirk, wink, etc.

At optional step 3115, the identified facial expression may be analyzed.For example, the images may be analyzed by executing instructions storedin analysis module 3002. In some embodiments, wearable apparatus 110 mayanalyze the facial expression. In other embodiments, an externalcomputing device, such as computing device 120 and/or server 250, mayanalyze the facial expression. In some embodiments, the identifiedfacial expression may be categorized into emotional states. For example,a smile may be categorized into a “happy” emotional state; a frown maybe categorized into a “sad” emotional state; etc. In some examples, theemotional state may be a “friendliness” level.

In some embodiments, a change in facial expression over time may bedetermined by analyzing multiple images taken at different times. Forexample, the facial expression of the person may change from a smile toa frown within a certain amount of time (e.g., 1, 10, 30 seconds). Thechange in expression may be used to determine the emotional state of theperson. In some cases, a frown may normally be categorized as “sad.”However, if the person smiled, then frowned, the expression may becategorized as “angry” or “annoyed” instead of “sad.” Incorporating thechanging expression over time may, thus, refine the emotional statedetermination.

In some embodiments, the one or more images and/or the facial expressionmay be analyzed to determine the identity of the person in the image.For example, landmarks from one or more images of the person's face maybe compared to landmarks in images stored in a database of knownpersons. The database may contain images of people that user 100 hasinteracted with in the past. For example, the images may be from theuser 100's social network. In other examples, the database may containinformation about individuals unknown to user 100, such as allindividuals in certain zip code, city, apartment complex, etc. Thedatabase may be a relational database, a social graph, or other suitabledatabase, and the image may be associated with a record containing otherinformation (e.g., a profile) about the person. In some examples, therecord in the database may be updated with information about theidentified facial expression of the determined person. In some examples,the record may contain relationships between individuals. Thus a recordmay contain information about multiple individuals. In the case wheremore than one person is identified in the images a single recordcontaining the multiple persons may be updated.

In some embodiments, information about user 100 indicative of a state ofuser 100 may be received from sensors included in wearable apparatus110. The sensors may indicate a physiological state of user 100, such asheart rate, galvanic skin response, etc. In some embodiments, theinformation indicative of a state of user 100 may be used to determine arelationship between user 100 and the person in the images. For example,the timing between identified facial expressions or mood of the personand the physiological response of the user can be analyzed. The analysismay indicate that the facial expression is affecting user 100 or viceversa.

In some embodiments, a facial expression may be identified by performingeyebrow analysis. For example, the orientation and movement of one ormore eyebrows across captured images may be analyzed to determine amood.

In some embodiments, a facial expression may be analyzed over multipleimages to develop a baseline. The baseline may be specific to aparticular individual, and may provide a baseline for a known mood(e.g., happy, sad, etc.). During a subsequent encounter with thatindividual, movements of the person's lips, eyes, and/or eyebrows, etc.,away from the baseline may be used to determine the person's mood.

In yet other embodiments, analysis module 3002 may execute instructionsto develop a model and refine the model through neural network training.For example, the model may be exposed to test cases, and may developcategorizations of one or more facial expressions, and then correct thecategorizations to train the neural network and adapt the neural networkto better recognize similar facial expressions during subsequentencounters.

In still yet other embodiments, analysis module 3002 may executeinstructions to perform image analysis techniques. For example, pointsmay be used to mark facial features (e.g., landmarks, as discussedabove), and line representations of facial features (e.g., brows, lips,etc.) may be used to analyze the orientation and movements of facialfeatures across multiple images. Further, image analysis may be used torecognize parted lips and/or exposed teeth to help to identify smiles.For example, image analysis techniques may be used to identify anddistinguish between teeth and lips, and determine a degree of a smile.

At step 3120, information associated with the identified emotionalstate, the identified facial expression, and/or information associatedwith the identity of the person associated with the facial expressionmay be transmitted to an external device. For example, the images may betransmitted by executing instructions stored in transmitting module3003. The external device may be computing device 120 and/or server 250.In some embodiments, the information may be the identified landmarks inthe image or images. The information may also be the identifiedexpression, and/or the emotional state of the person, the identity ofthe person, and/or the state of user 100.

In some embodiments, the information is transmitted from the wearableapparatus 110 to the external device. The wearable apparatus 110 mayinclude a transmitting module that includes hardware and software totransmit the information. In some examples, the information may betransmitted over Bluetooth® to a paired external device, such as asmartphone, tablet, and/or a smartwatch. In other examples, theinformation may be transmitted over a network, such as cellular network,Wi-Fi, etc. In some embodiments, the information associated with thefacial expression may be transmitted to wearable apparatus 110 from theexternal device.

The above method (e.g., method 3100) may further include other steps orprocesses disclosed herein but not presented in FIG. 3, such as thosediscussed above in connection with any of the other figures in thisdisclosure.

Facial Recognition Via Non-Facial Information

Systems and methods of the present disclosure may use non-facialinformation to aid in identifying a face in an environment of a user ofthe disclosed wearable apparatus. Non-facial information includesinformation that does not represent the face of the person. Non-facialinformation may include information captured in at least one of aplurality of images, or may include information obtained from sourcesother than the captured images. The disclosed systems may leverage avariety of non-facial information, such as information extracted from anobject identified from the images, information identifying other devices(e.g., signals received from mobile devices), Global Positioning System(GPS) information, audio information, and other data, such as Wi-Fisignals. For example, a “fingerprint” may be extracted from a Wi-Fisignal and be used to identity a particular device (e.g., a smartphone).In some embodiments, the disclosed systems may use the context of alocation, including information obtained from the surroundings of aparticular location (e.g., such as door with name of person might helpidentify who might be in a room behind that door).

The disclosed systems may assign weights to the non-facial informationin order to arrive at a confidence level that the face is that of aparticular person. In some embodiments, the disclosed systems maycompare captured images to images available via the Internet or storedin a database or data storage device. Further, the disclosed systems maynarrow down the universe of candidates based on a location and/or aparticular event, and may also leverage calendar information. Forexample, the disclosed systems may access a calendar and determine thatthe user is scheduled to attend a concert, and then may create asub-universe of people the user is likely to meet based on informationindicating persons who will attend that event (e.g., based on calendarinformation of the people, or based on information of persons who havepurchased a ticket to the event, or social media information indicatinga person is attending the event).

FIG. 32 is a block diagram illustrating a memory consistent withembodiments disclosed herein. The memory may be a memory included inwearable apparatus 110 (e.g., memory 550 or 550 a), a memory included incomputing device 120 (e.g., memory 550 b), or a memory included in aserver 250 (shown in FIGS. 2 and 34). The memory may include one or moremodules, or sets of instructions, for performing methods consistent withthe disclosed embodiments. For example, the memory may includeinstructions for at least one processing device to analyze imagescaptured by the image sensor, audio data detected by a microphone,and/or GPS location information acquired by a GPS unit. Further, in someembodiments, any of the modules shown in FIG. 32 may be included inmemory of one or more of wearable apparatus 110 (e.g., memory 550 or 550a), computing device 120 (e.g., memory 550 b), and server 250 (shown inFIGS. 2 and 34).

The processing device may process the images captured by the imagesensor included in wearable apparatus 110 and/or other data in near realtime to identify a person included in the images, as the image data arebeing captured by the image sensor in near real time. In someembodiments, the processing device may be included in wearable apparatus110 (e.g., processor 210, 210 a, or 210 b shown in FIGS. 5A-5C). In someembodiments, the processing device may be a processor that is separatelylocated from wearable apparatus 110. For example, the processing devicemay be a processor that is remotely connected with wearable apparatus110 through a wired or wireless network with a suitable communicationmeans, such as cable communication, infrared, Bluetooth, WiFi, cellular,near field communication (NFC), etc. In some embodiments, the processingdevice may be processor 540 included in computing device 120, which maybe paired with (e.g., connected with) wearable apparatus 110 through awired or wireless connection. In some embodiments, the processing devicemay be a processor included in server 250, which may be wirelesslyconnected with wearable apparatus 110 through network 240 (shown inFIGS. 2 and 34). In some embodiments, the processing device may be acloud computing processor remotely and wirelessly connected withwearable apparatus 110 through network 240. Wearable apparatus 110 maytransmit captured image data and/or other data acquired by wearableapparatus 110 to the processing device in near real time, and theprocessing device may process the captured image data and/or other datato provide feedback (e.g., identification information of a personincluded in the images, such as the name) to wearable apparatus 110 innear real time.

In the embodiment shown in FIG. 32, memory 550 includes an imageprocessing module 3205, an identification determination module 3210, adatabase access module 3215, and a database 3220, for performing thefunctionality of the disclosed methods. Additional or fewer databasesand/or modules may be included in memory 550. Each module disclosedherein may include hardware components (e.g., physical circuits,switches, gates, etc.), software (code or instructions), or both. Eachmodule may be configured to perform various functions programmed for themodule, or each module may be executed by a processor to perform variousfunctions programmed for the module. In the following discussions, themodules are described as being configured to perform certainfunctionality. It is understood that in some embodiments, the modulesare executed by the processor to perform certain functionality. Themodules and databases shown in FIG. 32 are by example only.

Database 3220 may be configured to store various data or information,such as image data captured by an image sensor (e.g., image sensor 220,220 a, 220 b shown in FIGS. 2, 3, 4A, 4B, 5A-5C, and 7). Database 3220may also be configured to store data other than image data, such astextual data, audio data, video data, etc. Alternatively oradditionally, memory 550 may include a separate text database configuredto store textual data extracted or identified from captured images, aseparate sound database configured to store audio data, such as sounddetected by a microphone, and a separate video database configured tostore video data captured by the image sensor. Database 3220 may furtherstore information associated with user 100, contacts of user 100, orother persons. Such information may include age, gender, employment,hobbies, contacting information such as email addresses, phone numbers,addresses, social media accounts, calendar information, image data(which may include images of faces), positioning information,relationship information (e.g., relationship with other persons), voicedata, etc. Such information may also include emails of user 100,messages posted by user 100, contacts of user 100, or other persons onsocial media websites or other publically accessible websites. Suchinformation may further include information regarding purchasers ofevent tickets or attendants of events, which may be stored in a databaseat a ticket selling agent or an event organizer. Some of suchinformation may be stored in another database external to memory 550,such as a database in a data storage device included in computing device120 and/or server 250.

Database access module 3215 may be configured to access database 3220 toretrieve data or information. For example, data access module 3215 mayaccess database 3220 to retrieve previously stored image data foranalysis. Previously stored image data may be captured by wearableapparatus 110, or may be retrieved from a remote device, such as aserver on the Internet. In some embodiments, database access module 3215may be configured to retrieve previously stored sound data, which may bereceived or acquired by a microphone.

Database access module 3215 may also be configured to access otherdatabases included in an external device, such as a server on theInternet. For example, database access module 3215 may be configured toaccess information stored in another database on a device external tomemory 550. Information accessible by database access module 3215 mayinclude information regarding user 100 of wearable apparatus 110,information regarding the contacts of user 100, or information regardingother persons, similar to those that may be stored in database 3220.

In the embodiment shown in FIG. 32, memory 550 is configured to store animage processing module 3205. Image processing module 3205 may beconfigured to perform various analyses and processes of image datacaptured by the image sensor to identify an object, including, forexample, a face of a person appearing in the image, as well as othernon-facial information, such as texts, other objects, etc. For example,image processing module 3205 may be configured to analyze the images todetermine that a face of a person appears in a first image. In someembodiments, image processing module 3205 may be configured to analyzethe images to identify at least one item of non-facial informationappearing in a second image that was captured within a time periodincluding a time when the first image including the face is captured.The time period may be 1 second, 2 seconds, 3 seconds, etc., beforeand/or after the time first image is captured. The first image and thesecond image may be the same image (i.e., the face and the item ofnon-facial information are captured in the same image), or may bedifferent images (i.e., the face and the item of non-facial informationare captured in different images). Image processing module 3205 may useany suitable face recognition algorithm to recognize that there is aface of a person in the first image. Image processing module 3205 mayanalyze the image data of the face and/or the person to extract one ormore body characteristics associated with the person, such as a mole ora scar on the face, a hairstyle, a clothing item, such as a picture,texts, color, or a pattern printed on the cloth, a name tag, a jewelryworn by the person, a unique smile, color of the hair, eye, or skin, andother facial or body characteristics. An item of non-facial informationmay be one of these items or characteristics not related to a face.

Memory 550 may include an identification module 3210. Identificationdetermination module 3210 may be configured to perform various analysesand processes to determine identification (e.g., a name or an index of adatabase referring to an identity stored in the database) of a person,whose face appears in the images. For example, identificationdetermination module 3210 may be configured to determine theidentification (e.g., a name) associated with the face captured in theimages based on the item of non-facial information.

Database access module 3215 may also be configured to access calendarinformation stored in a device (e.g., a mobile device, a server, etc.).For example, database access module 3215 may access calendar informationstored in a device paired and/or connected with wearable apparatus 110.The calendar information may be associated with the user of the devicepaired with wearable apparatus 110. The device paired with wearableapparatus 110 may be associated with the user of wearable apparatus 110,or may be associated with a person other than the user of wearableapparatus 110. Accordingly, the calendar information may be associatedwith the user of wearable apparatus 110, or another person (e.g., acontact of user 100, or any other person). In some embodiments, databaseaccess module 3215 may access a database storing calendar information ofa plurality of persons to retrieve information regarding who arescheduled to attend an event that user 100 of wearable apparatus 110 isalso scheduled to attend. In some embodiments, database access module3215 may also be configured to access information stored in otherdatabases or information available on the Internet, such as informationabout a person's schedule available on the person's social mediawebpage.

FIG. 33A shows an exemplary image captured by an image sensor ofwearable apparatus 110, consistent with the disclosed embodiments. It isunderstood that the image sensor included in wearable apparatus maycapture a plurality of images from the environment of the user, and FIG.33A shows one example of the images captured by wearable apparatus 110.Image 3300 shows a person 3305, who has a face 3306, and is holding adevice 3307 and wearing a name tag 3308. Device 3307 may be a mobiledevice, such as a cell phone (e.g., smartphone), a tablet, a laptop, awatch, etc. Device 3307 may transmit and/or receive a signal to and/orfrom wearable apparatus 110, such as a WiFi signal, an infrared signal,a Bluetooth signal, etc. Device 3307 may communicate with server 250,and may transmit various data (e.g., GPS information) to server 250.Device 3307 may receive various data from server 250.

As shown in FIG. 33A, image 3300 also shows a concert stage setting 3310having a banner 3315. Banner 3315 includes text “Steve's Concert” on it.Image 3300 also shows a microphone 3320, and two loud speakers 3331 and3332 on stage 3310. Image 3300 also shows a street signage 3340 havingtext “Market St.” The text “Market St.” identifies a location or avenue.

At least one processing device (e.g., processor 210, 210 a, and/or 210b) included in wearable apparatus 110 may be configured to analyze atleast one image (e.g., one or a plurality of images) captured by theimage sensor of wearable apparatus 110. For example, in someembodiments, the processing device may be configured to analyze a firstimage to determine that a face appears in the first image. For example,using any suitable face recognition algorithm, wearable apparatus 110(or computing device 120 or server 250) may recognize that face 3306appears in image 3300.

The processing device may also be configured to analyze a second imageto identify at least one item of non-facial information appearing in thesecond image that was captured within a time period (e.g., 1 second, 2seconds, 3 seconds, etc.) including the time when the first image iscaptured. For example, the time period may span before and/or after thetime the first image is captured. In some embodiments, an item ofnon-facial information may appear in the same image as the face. Asshown in FIG. 33A, elements 3307, 3308, 3310, 3315, 3320, 3331, 3332,and 3340 may be items of non-facial information. Such items are capturedwithin the same image as face 3306.

In some embodiments, an item of non-facial information may appear in adifferent image from the face, as shown in FIGS. 33B and 33C. FIG. 33Bshows an image 3390 of the environment, which includes the concertsetting and the street sign, but without face 3306. FIG. 33C shows animage 3395 that includes an image of person 3305, including face 3306.The image including the item of non-facial information appearing in adifferent image from the face may be captured within the time period(e.g., 1 second, 2 seconds, 3 seconds, etc.) before and/or after theimage including the face was captured. The time period may be any othersuitable time period, such as 1 minute, 2 minutes, etc. Items ofnon-facial information included in image 3390, although not appearing inthe same image as face 3306, may be used to aid in determiningidentification information (e.g., a name or an index pointing to alocation in a database storing an identity of a person) associated withface 3306.

For convenience, below discussions may refer to FIG. 33A in which itemsof non-facial information appear in the same image as face 3306. It isunderstood that the same processes discussed herein may be applied toFIGS. 33B and 33C, in which items of non-facial information appear in adifferent image from face 3306. As discussed above, items of non-facialinformation may also include those not included in any images capturedby wearable apparatus 110, including, e.g., audio data captured bymicrophone 3405 (shown in FIG. 34), WiFi signals received by wearableapparatus 110, and other data or signal acquired by wearable apparatus110.

FIG. 34 illustrates wearable apparatus 110 and other devices consistentwith embodiments disclosed herein. As shown in FIG. 34, user 100 maywear wearable apparatus 110. Wearable apparatus 110 may have anyconfigurations or combination of configurations disclosed in otherfigures. For example, in some embodiments, wearable apparatus 110 mayinclude capturing unit 710 disclosed in FIGS. 7-16. In some embodiments,wearable apparatus 110 may have other configurations disclosed in FIGS.1-6. In other embodiments, wearable apparatus 110 may have aconfiguration that is a combination of any features disclosed in FIGS.1-16.

Wearable apparatus 110 carried by user 100 may capture a plurality ofimages from the environment of user 100. An example image is shown inFIG. 33A. User 100 may be facing the scene shown in FIG. 33A. Forexample, user 100 may be talking to or facing person 3305 when image3300 is captured by wearable apparatus 110.

Wearable apparatus 110 may include a microphone 3405 configured toacquire audio data, such as voice of user 100 and/or another person(e.g., person 3305), as well as any other acoustic data from theenvironment of user 100. For example, microphone 3405 may acquire musicsound being played at the scene shown in FIG. 33A, where a concert isbeing performed. Microphone 3405 may acquire voice of person 3305, whoseface 3306 is included in image 3300, and who may be speaking to user 100or to someone else. Wearable apparatus 110 may analyze the acquiredaudio data to determine identification information of person 3305, ormay transmit the acquired audio data to an external device (e.g.,computing device 120 and/or server 250) for determining identificationinformation of person 3305. In some embodiments, wearable apparatus 110may analyze the audio data acquired by microphone 3405 to determine theidentification information of person 3305 and may transmit theidentification information to external devices, such as computing device120 and/or server 250.

In some embodiments, wearable apparatus 110 may include a display. Forexample, output feedback unit 230 shown in FIGS. 5A-5C may include thedisplay. A processor included in wearable apparatus 110 may beprogrammed to display information associated with the identificationinformation of person 3305 associated with face 3306 on the display. Forexample, the display included in wearable apparatus 110 may display thename of person 3305.

Wearable apparatus 110 may have a configuration shown in any of FIGS.5A-5C (with the addition of microphone 3405 to the schematics shown inFIGS. 5A-5C), or a combination of configurations shown in FIGS. 5A-5C(with the addition of microphone 3405 to the combination of schematicsshown in FIGS. 5A-5C). Although not shown in FIGS. 5A-5C, it isunderstood that wearable apparatus 110 may include other features, suchas a positioning unit (e.g., a GPS unit) configured to acquire locationinformation of wearable apparatus 110. As shown in FIGS. 5A-5C, wirelesstransceiver 530 (or 530 a) of wearable apparatus 110 may be configuredto transmit a signal or data from wearable apparatus 110 to anotherdevice, such as an external device (e.g., computing device 120, device3307 held by person 3305, or server 250). Wireless transceiver 530 (or530 a) of wearable apparatus 110 may also be configured to receive asignal or data from another device, such as the external device (e.g.,computing device 120 and/or server 250). For example, wearable apparatus110 may receive a WiFi signal through wireless transceiver 530 (or 530a) from device 3307 (shown in FIG. 33A).

As shown in FIG. 34, wearable apparatus 110 may communicate with anexternal device. The external device may be computing device 120, server250, or any other devices (e.g., device 3307 carried by another person).Wearable apparatus 110 may communicate with computing device 120 througha suitable communication means, such as cable, Bluetooth, WiFi,infrared, cellular, Near Field Communication, etc. In some embodiments,wearable apparatus 110 may communicate with server 250 through network240, which may include a suitable communication means disclosed herein.

In some embodiments, computing device 120 may be a smartphone, a tablet,or a watch (e.g., a smartwatch). In some embodiments, computing device120 may be paired with (and hence connected with) wearable apparatus110. Pairing may be enabled by a transmitter (e.g., one included inwireless transceiver 530 or 530 a shown in FIGS. 5A-5C) included inwearable apparatus 110 and a receiver (e.g., one included in wirelesstransceiver 530 b shown in FIG. 5C) included in computing device 120. Insome embodiments, wearable apparatus 110 may not communicate with server250 directly. Instead, wearable apparatus 110 may directly communicatewith computing device 120, which may then communicate with server 250.

Server 250 may include any suitable hardware and/or software components.For example, server 250 may include a computer having at least one of amemory, a storage device, a processor, and executable instructionsstored in the memory that may be executed by the processor to performvarious processes and methods disclosed herein. Server 250 may includetransceivers, network ports, and input/output devices configured tocommunicate with other devices (e.g., wearable apparatus 110 and/orcomputing device 120) to exchange data and/or signals.

In some embodiments, server 250 may be configured to receive informationtransmitted from wearable apparatus 110. For example, server 250 mayreceive images captured by wearable apparatus 110, such as the imageshown in FIGS. 33A-33C. In some embodiments, processing device 210, 210a, or 210 b of wearable apparatus 110 may transmit (e.g., via wirelesstransceiver 530 or 530 a) to server 250 one the captured images (e.g.,the image shown in FIG. 33A), in which face 3306 of person 3305 appears.In some embodiments, server 250 may receive information associated withat least one item of non-facial information from wearable apparatus 110.The item of non-facial information may include an object, text, audiodata, etc. For example, referring to FIG. 33A, when wearable apparatus110 captures a plurality of images of the concert scene (including theone shown in FIG. 33A), wearable apparatus 110 may analyze the images toidentify an item of non-facial information. For example, wearableapparatus 110 may identify an object, such as text “Market St.” shown onsignage 3340. Wearable apparatus 110 may identify the text “Steve'sConcert” on banner 3315. Wearable apparatus 110 may identify microphone3320, loud speakers 3331 and 3332. Wearable apparatus 110 may identifydevice 3307 held by person 3305.

Wearable apparatus 110 may transmit other acquired information to server250. For example, wearable apparatus 110 may transmit audio dataacquired by microphone 3405 to server 250. Audio data may include soundfrom the concert scene, such as music being played. Audio data may alsoinclude voice of person 3305. In some embodiments, wearable apparatus110 (e.g., at least one processing device included in wearable apparatus110) may transmit GPS information indicating the location of wearableapparatus 110 to server 250. The GPS location information may beassociated with face 3306 captured within image 3300 as face 3306 may bein close proximity to wearable apparatus 110. In some embodiments,wearable apparatus 110 may receive WiFi signals from device 3307 carriedby person 3305, and may transmit the WiFi signals or a signal havinginformation extracted from the WiFi signals to server 250. Theinformation extracted from the WiFi signals may include the MAC addressof device 3307.

In some embodiments, server 250 and/or computing device 120 maydetermine identification information of person 3305 associated with face3306 by analyzing image data and/or other data or information capturedby and transmitted from wearable apparatus 110. Server 250 and/orcomputing device 120 may an identity (e.g., a name) of person 3305 basedon the determined identification information, and may provide theidentity of person 3305 to wearable apparatus 110. In some embodiments,wearable apparatus 110 may analyze captured image data and/or otherdata, as well as information obtained from computing device 120 and/orserver 250, to determine the identification information of person 3305associated with face 3306 captured by wearable apparatus 110. Wearableapparatus 110 may transmit the determined identification information tocomputing device 120 and/or server 250. For illustrative purposes, inbelow discussions, the disclosed methods for identifying a personassociated with a face captured in an image are described as beingperformed by wearable apparatus 110. It is understood that the methodsmay be performed by computing device 120 and/or server 250.

Wearable apparatus 110 may determine identification information of aperson (e.g., person 3305) associated with face 3306 based on at leastone item of non-facial information. The identification information mayinclude a name of person 3305 or an index of a database storingidentities of persons. The index may point to a location in the databasethat stores an identity (e.g., a name) of a person. In some embodiments,wearable apparatus 110 may determine the identification information ofperson 3305 based on the item of non-facial information and the image(e.g., image 3300 shown in FIG. 33A) in which face 3306 appears.

In some embodiments, wearable apparatus 110 may determine theidentification information of person 3305 based on a signal receivedfrom a mobile device in a vicinity of face 3306. For example, wearableapparatus 110 may receive a WiFi signal from mobile device 3307. In someembodiments, WiFi-enabled device 3307 may transmit a WiFi probe requestin search for nearby networks. The WiFi probe request may be received bywearable apparatus 110 (e.g., through wireless transceiver 530 or 530a). The WiFi probe request may contain a unique MAC address of device3307. Wearable apparatus 110 may analyze the MAC address to determinethe user's identification information associated with the MAC address.For example, wearable apparatus 110 may analyze historical tracking datastored in a database that are associated with the same MAC address.Wearable apparatus 110 may analyze other data publicly or privatelyavailable in databases or on the Internet (e.g., on server 250), todetermine the identification information of the user of device 3307(e.g., person 3305) associated with the MAC address.

In some embodiments, wearable apparatus 110 may access calendarinformation of the identified possible identities (e.g., names) of theuser of device 3307. The calendar information of the possible identitiesmay indicate whether the persons with the identities are scheduled toattend a concert held at a location (e.g., where image 3300 iscaptured). Wearable apparatus 110 may also identify at least one item ofnon-facial information from image 3300, such as the text included insignage 3315 indicating that a concert is being or will be held.Wearable apparatus 110 may also identify the text included signage 3340indicating the location, i.e., Market Street. Based on the at least oneitem of non-facial information identified from image 3300, and thecalendar information associated with the possible identities of the userof device 3307, server 250 may determine the identity of the user ofdevice 3307 and use the determined identity as the identity of person3305 having face 3306.

In some embodiments, wearable apparatus 110 may detect a WiFi signalbroadcasted from device 3307, which shows a network name “Emily'shotspot.” Wearable apparatus 110 may determine a possible name “Emily”for person 3305 based on the network name “Emily's hotspot.”Alternatively or additionally, wearable apparatus 110 may transmit thenetwork name “Emily's hotspot” to server 250 such that server 250 maydetermine the identity of person 3305. For example, from the networkname, server 250 may determine that the name of person 3305 is possibly“Emily.” Wearable apparatus 110 or server 250 may determine thelikelihood or a confidence level for the possible name “Emily” forperson 3305.

In some embodiments, wearable apparatus 110 may be programmed to assigna confidence level to the determined possible identity or identificationinformation (e.g., a possible name or an index to an identity database).The confidence level may be in the form of a numerical value, or in anyother suitable form. For example, the name “Emily” determined from thenetwork name “Emily's hotspot” may be assigned with a confidence levelof 6 (the confidence level may be in a range of 0-10). When wearableapparatus 110 analyzes the MAC address of device 3307 and determines,from certain databases, that the MAC address is associated with anothername “John,” wearable apparatus 110 may assign another confidence level4 to the possible name “John” determined from the MAC address. Theconfidence level for the name “John” may be lower than the confidencelevel for the name “Emily” because face 3306 indicates person 3305 to bea female, and the name “John” is typically a name of a male, whereas thename “Emily” is typically a name of a female.

In some embodiments, to determine the identity of person 3305, wearableapparatus 110 may compare image data regarding face 3306 of person 3305(e.g., image 3300 shown in FIG. 33A or a portion of the image 3300 shownin FIG. 33A) to image data (e.g., one or more facial images) stored indatabase 3220. For example, wearable apparatus 110 may use facialrecognition algorithms to compare an image of face 3306 with images ofknown faces (associated with known names) in order to determine theidentity of the person 3305. When a possible match between face 3306 anda known face (with a known name) is found, wearable apparatus 110 maydetermine that face 3306 is associated with that known name. In someembodiments, faces identified from images may be stored as coefficients,rather than images. Wearable apparatus 110 may compare coefficientsrepresenting face 3306 identified from the images with coefficientsrepresenting other faces stored in a database to identify a match.

In some embodiments, wearable apparatus 110 may transmit the determinedidentity (e.g., name) of person 3305 to a device paired with wearableapparatus 110. For example, wearable apparatus 110 may transmit thedetermined identity of person 3305 to computing device 120 that may bepaired with wearable apparatus 110. In some embodiments, in addition totransmitting the determined identity to computing device 120, wearableapparatus 110 may also transmit the confidence level associated with thedetermined identity to computing device 120. Computing device 120 mayinclude a display that displays the determined identity of person 3305,and/or the confidence level associated with the determined identity. Insome embodiments, computing device 120 may display a plurality ofpossible identities with a plurality of associated confidence levels.

In some embodiments, wearable apparatus 110 may identify an event beingattended by user 100 of wearable apparatus 110 based on calendarinformation associated with user 100. For example, based on the text“Steve's Concert” captured in image 3300, as well as calendarinformation of user 100 indicating that at or around the time when image3300 is captured, user 100 is scheduled to attend a concert, wearableapparatus 110 may determine that user 100 is attending a concert at thetime when image 3300 is captured. Wearable apparatus 110 may accesscalendar information of user 100, which may be stored in server 250, oranother device, such as computing device 120 that may be paired withwearable apparatus 110.

In some embodiments, wearable apparatus 110 may be configured to accesscalendar information associated with other persons, for example, friendsand/or contacts of user 100, persons who have purchased tickets for theconcert, etc. For example, purchasing tickets may require the identity(e.g., name) of the purchaser and/or the identities (e.g., names) of thepersons who will attend the concert. The identities may be stored in adatabase of the ticket selling agent. Wearable apparatus 110 may accessthe database to acquire the identities of persons who have purchased thetickets for the concert and/or who may be attending the concert.

Wearable apparatus 110 may further access other databases that storeface images of the persons who have purchased the tickets and/or who mayattend the concert. For example, server 250 may acquire face images ofthe persons who have purchased the tickets and/or who may attend theconcert, and store the face images in a storage device. In someembodiments, server 250 may search on the Internet (e.g., accessingsocial media webpages of persons who may attend the concert) to acquireface images of persons who may attend the concert. For example, a personwho may attend the concert may post a message on a social media webpageannouncing that he/she is going to attend “Steve's Concert” held at aparticular time and location. Server 250 may determine from the postedmessage that the person will attend the concert and may acquire an imageof the person (e.g., a face image of the person) from the person'ssocial media webpage or from other Internet resources. Wearableapparatus 110 may access images stored on server 250.

In some embodiments, server 250, computing device 120, or wearableapparatus 110 may store acquired images of persons who may attend theconcert in a database (e.g., database 3220 or one similar to database3220). Wearable apparatus 110 may compare image data of face 3306included in image 3300 with the images data of faces of persons who arescheduled to attend (or who may attend) the concert that are stored inthe database. Wearable apparatus may determine the identity of person3305 based on the comparison. For example, after finding a match betweenthe image of face 3306 and the face image(s) stored in the database,wearable apparatus 110 may identify the name associated with thematching face image, and use that name as the name of person 3305.

In some embodiments, wearable apparatus 110 may be programmed toidentify an event being attended by user 100 of wearable apparatus 110based on at least one item of non-facial information and calendarinformation associated with user 100. The non-facial information mayinclude voice data, GPS location data, non-facial objects captured inimages, etc. For example, microphone 3405 may acquire voice data fromthe environment of user 100 where image 3300 is captured. The voice datamay include music being played, people's voice talking about theconcert, etc. Wearable apparatus 110 may analyze the voice data ortransmit the voice data to server 250 for analysis. For example,wearable apparatus 110 may analyze the voice data to determine that itis likely that user 100 is located at a place where a concert is beingheld. Wearable apparatus 110 may access the calendar information of user100 to determine that user 100 is scheduled to attend a concert at oraround the time when image 3300 is captured. Based on the calendarinformation and the voice data, wearable apparatus 110 may determinethat user 100 is attending a concert at the time when image 3300 iscaptured.

A GPS unit included in wearable apparatus 110 and/or computing device120 paired with wearable apparatus 110 may acquire the location data ofwearable apparatus 110 when image 3300 is captured. Wearable apparatus110 may analyze the GPS location data to determine a location of user100, or may transmit the GPS location data to server 250 for analysis.For example, server 250 may analyze the GPS location data to determinethe location of user 100. Alternatively or additionally, wearableapparatus 110 may analyze image 3300 to identify text “Market St.” fromsignage 3340, which indicates a location or a venue. Wearable apparatus110 may determine the location of user 100 (i.e., on or adjacent MarketStreet) from the text identified from signage 3340. Wearable apparatus110 may also access the calendar information of user 100 to determinethat user 100 is scheduled to attend a concert to be held at a locationthat matches or is in close proximity to the location of user 100identified from the GPS information and/or the text “Market St.”recognized from image 3300. Based on the location data and the calendarinformation, wearable apparatus 110 may determine that user 100 isattending a concert at a particular location.

Wearable apparatus 110 may use other non-facial information, such asnon-facial objects identified from image 3300 to determine an event user100 is attending. For example, wearable apparatus 110 may analyze image3300 to identify banner 3315 and recognize the text “Steve's Concert.”Wearable apparatus 110 may access the calendar information of user 100to determine that user 100 is scheduled to attend a concert on this dayat or around this time when image 3300 is captured. Based on the textidentified from image 3300 and the calendar information of user 100,wearable apparatus 110 may determine that user 100 is attending theconcert.

As another example, wearable apparatus 110 may analyze image 3300 toidentify an object, such as microphone 3320, and/or loud speakers 3331and 3332. Wearable apparatus 110 may determine that the settingincluding microphone 3320 and/or loud speaker 3331 and 3332, is relevantto a concert. Wearable apparatus 110 may access the calendar informationof user 100 and determine that user 100 is scheduled to attend a concerton this day. Based on the non-facial objects captured in image 3300 andthe calendar information of user 100, wearable apparatus 110 maydetermine that user 100 is attending a concert at the time when image3300 is captured.

In some embodiments, wearable apparatus 110 may access calendarinformation (e.g., schedule information) of a plurality of persons otherthan user 100 who are scheduled to attend the event. For example,wearable apparatus 110 may acquire data (e.g., name lists, schedules,ticket purchase history, etc.) pertaining to persons who are scheduledto attend the concert from a suitable source, including, e.g., theticket selling agents, the Internet, etc. In addition, wearableapparatus 110 may access calendar information (e.g., schedulinginformation) included in the calendars of these persons. For example,calendar information may indicate that some persons may not be able toattend the concert, although they may have purchased the tickets andwere originally scheduled to attend the concert.

Wearable apparatus 110 may narrow the universe of search for candidatesof person 3305 based on the calendar information that eliminates some ofthe potential candidates. Wearable apparatus 110 may select a personfrom the plurality of persons who are scheduled to attend the concertbased on, e.g., age, gender, skin color, eye color, hair color or style,and other characteristics that are stored in a database for the personsscheduled to attend the concert. Wearable apparatus 110 may compare thestored physical characteristics of the potential candidates with that ofperson 3305 captured in image 3300. When a match between the physicalcharacteristics of a candidate and those of the person 3305 is found,wearable apparatus 110 may determine the identity of person 3305 basedon the identity of the matching candidate.

In some embodiments, wearable apparatus 110 may determine the identityof person 3305 based on a known relationship with user 100. For example,wearable apparatus 110 may determine from various data sources that user100 is attending the concert with his daughter, and user 100 has onlyone daughter, whose name is already stored in a database. Wearableapparatus 110 may analyze image 3300, including face 3306 of person 3305to determine that face 3306 belongs to a young female. Wearableapparatus 110 may access the database to acquire the name of thedaughter, and use that name as the name of person 3305.

As another example, wearable apparatus 110 may determine from variousdata sources that user 100 is attending the concert with his femaleco-worker. For example, wearable apparatus 110 may access calendars ofuser 100 and his female co-workers to identify one of the co-worker whois scheduled to attend the concert at a time around the time when image3300 is captured. Wearable apparatus 110 may access email communicationsof user 100 and identify one or more messages indicating that user 100is scheduled to attend the concert with a female co-worker. Wearableapparatus 110 may acquire the name of the female co-worker from adatabase, e.g., a workplace database storing the names of co-workers ofuser 100, or from the email messages, etc. Wearable apparatus 110 mayassign the female co-worker's name to person 3305.

In some embodiments, wearable apparatus 110 may determine the identityof person 3305 associated with face 3306 based on at least one item ofnon-facial information and the audio data captured by microphone 3405.For example, the non-facial information may include a WiFi signalreceived from device 3307 held by person 3305. WiFi signal may include anetwork name “Emily's hotspot.” Alternatively or additionally, wearableapparatus 110 may analyze a MAC address included in the WiFi signal toidentify the name of a person (e.g., “Emily”) associated with the MACaddress of device 3307. In addition, wearable apparatus 110 may analyzethe audio data acquired by microphone 3405 to determine that the voiceof person 3305 is likely from a female. Based on the WiFi signal andaudio data, wearable apparatus 110 may determine that a possible namefor person 3305 is “Emily.”

In some embodiment, wearable apparatus 110 may determine the identity ofperson 3305 based on texts identified from the captured images. Forexample, wearable apparatus 110 may identify name tag 3308 worn byperson 3305 from an image 3500 shown in FIG. 35. Wearable apparatus 110may identify the text “Emily” on name tag 3308, and may determine thatthe name of person 3305 is “Emily.” Wearable apparatus 110 may assign agreat weight or a high confidence level to the determined name “Emily.”

In some embodiments, the non-facial information may be associated with aclothing item. Wearable apparatus 110 may identify a clothing item fromthe captured images, and determine the identification information ofperson 3305 based on the clothing item. For example, as shown in FIG.33C, the clothing item may be text printed on a cloth of person 3305,“Company A.” The text “Company A” may be a company that is the employerof user 100 and person 3305. Thus, user 100 and person 3305 may beco-workers of Company A. Wearable apparatus 110 may access employmentinformation of user 100 and determines that user 100 works for CompanyA. Wearable apparatus 110 may determine that person 3305 is a co-workerof user 100. Wearable apparatus 110 may access contacts information ofuser 100 to identify all co-workers of user 100. If there is oneco-worker in the contacts of user 100 and the name of the co-workerappears to be a name for a female, wearable apparatus 110 may determinethat the name of the female co-worker is likely the name of person 3305.If there are multiple female co-workers in the contacts of user 100,wearable apparatus 110 may narrow the universe of potential candidatesusing other criteria, such as the positioning information of the femaleco-workers, the physical characteristics of the female co-workers (e.g.,hairstyle), voice characteristics of the female co-workers (e.g.,comparing the voice data of person 3305 acquired by wearable apparatus110 with stored voice characteristics of female co-workers of user 100),age of co-workers, etc.

In some embodiments, the non-facial information may be color informationassociated a clothing item. For example, the image (e.g., 3300, 3395, or3500) may show person 3305 wearing a cloth that has a specific color, ora combination of colors. Wearable apparatus 110 may access contactsinformation of user 100 and/or other databases to identify persons inthe contacts who like the specific color or the combination of colors.If there is one person in the contacts who likes the specific color orthe combination of colors, wearable apparatus 110 may determine that thename of the identified person is the name of person 3305. If there aremultiple persons who like the specific color or the combination ofcolors, wearable apparatus 110 may further narrow the universe ofpotential candidates using other criteria regarding person 3305 andcandidates, such as voice characteristics, other body characteristics,age, positioning information, etc.

In some embodiments, wearable apparatus 110 may determine the identityof a person based on at least one item of non-facial information and theGPS information. For example, FIG. 35 shows an image 3500 of anenvironment of user 100 captured by wearable apparatus 110. Image 3500may include person 3305 and her face 3306, as well as device 3307 heldby person 3305. Image 3500 may also include an advertising board 3505including text 3510 “Tonight's Movie: Dance on the Moon.” Wearableapparatus 110 may analyze image 3500 to identify face 3306 and items ofnon-facial information, such as advertising board 3505 and text“Tonight's Movie: Dance on the Moon.” Wearable apparatus 110 may alsoacquire GPS information indicating the location of user 100. Wearableapparatus 110 may determine, based on text 3510 and the GPS informationthat user 100 is located at or near a movie theatre. Additionally oralternatively, wearable apparatus 110 may receive GPS information fromdevice 3307 indicating the location of device 3307 (and hence person3305). Based on the GPS information received from device 3307 and thetext identified from advertising board 3505, wearable apparatus 110 maydetermine that person 3305 is near or at a movie theatre.

The GPS positioning information received from device 3307 may be used todetermine the identification information of person 3305. For example,wearable apparatus 110 may determine, from contacts list of user 100,which person is located closest to user 100. The contacts list of user100 may list all or some of the contacts of user 100 on a map showingthe locations of those contacts or in a list with distances between thecontacts and user 100. Person 3505 may be a contact of user 100, and thepositioning information of person 3505 may be shown on the map ofcontacts of user 100. The map may show that person 3505 is closest touser 100. Wearable apparatus 110 may determine the name of the personwho is closest to user 100, and use that name as the name of person3505.

In some embodiments, wearable apparatus 110 may access the contactsinformation of user 100 of wearable apparatus 110, and/or the calendarinformation of user 100 and/or other person to determine that user 100is scheduled to watch a movie with someone. Wearable apparatus 110 maynarrow the universe of potential candidates based on contacts of user100. For example, wearable apparatus 110 may access computing device 120or another device or database that may store contacts of user 100.Wearable apparatus 110 may select female contacts from all of thecontacts of user 100 because person 3305 appears to be a female.Wearable apparatus 110 may access calendar information of the selectedfemale contacts and may identify that one of the selected femalecontacts named “Emily” is scheduled to watch a movie at the same time.When there is only one female contact who is scheduled to watch themovie at this time, wearable apparatus 110 may determine that the nameof person 3305 is “Emily.” When there are two or more female contacts ofuser 100 who are scheduled to watch the movie at this time, wearableapparatus 110 may further narrow the universe of potential candidatesbased on other information. For example, wearable apparatus 110 maynarrow the universe of potential candidates based on a knownrelationship between user 100 and person 3305. In some embodiments,calendar information of user 100 may indicate that user 100 is scheduledto watch the movie with his wife. Wearable apparatus 110 may select oneof the female contacts, who is mostly likely the wife of user 100, andidentify the name of person 3305 based on the name of his wife listed inthe contact.

In some embodiments, wearable apparatus 110 may identify items ofnon-facial information from image 3300 and assign a weight to each ofthe items of non-facial information. For example, wearable apparatus 110may identify the text “Steve's Concert” from signage 3315 and assign aweight to that text. Wearable apparatus 110 may identify microphone 3320from image 3300 and assign a weight to microphone 3320. Wearableapparatus 110 may identify loud speakers 3331 and 3332 and assign aweight to these objects. Wearable apparatus 110 may identify signage3340 that includes text “Market St.” and assign a weight to signage 3340or the text “Market St.” Wearable apparatus 110 may identify mobiledevice 3307 and assign a weight to the mobile device. Wearable apparatus110 may identify name tag 3308 and assign a weight to the name tag.Wearable apparatus 110 may identify a clothing item (e.g., text “CompanyA”) and assign a weight to the clothing item. Wearable apparatus 110 mayidentify a hairstyle 3515 in image 3500 and may assign a weight tohairstyle 3515. Wearable apparatus 110 may identify other non-facialitems, such as jewelry, cloth, watch, bracelet, etc., worn by person3305 and assign weights to such identified items.

Different items of non-facial information may be assigned with differentweights. In some embodiments, at least two items of non-facialinformation may be assigned with a same weight. Wearable apparatus 110may determine a confidence level associated with the determined identitybased on the weights. For example, wearable apparatus 110 may havedetermined two names as candidates for person 3305. Wearable apparatus110 may determine that a first name is associated with a person whoseschedule indicates that she is not likely to be at the locationindicated by text “Market St.” at the time when image 3300 is captured,wearable apparatus 110 may assign a first, low weight to the first name.A second name may be associated with a person whose schedule indicatesthat she is scheduled to attend a concert at a location near or atMarket Street at the time when image 3300 is captured. Wearableapparatus 110 may assign a second, great weight to the second name.Wearable apparatus 110 may determine a confidence level of a possiblename candidate based on the weights assigned to a plurality of items ofnon-facial information.

In some embodiments, wearable apparatus 110 may be programmed todetermine a uniqueness level of at least one item of non-facialinformation, and determine a level of the weight based on the uniquenesslevel. For example, referring to FIG. 35, wearable apparatus 110 mayidentify items of non-facial information, including hairstyle 3515 ofperson 3305, device 3307 held by person 3305, advertising board 3505,and text 3510. Wearable apparatus 110 may determine that device 3307 isquite commonly used by other people, so wearable apparatus 110 mayassign a low uniqueness level to device 3307. Wearable apparatus 110 maydetermine that hairstyle 3515 may be unique, and may assign a highuniqueness level to hairstyle 3515. Wearable apparatus 110 may determinethat there are only a few theatres in the town or city that are showingthe movie “Dance on the Moon,” and may assign a high uniqueness level totext 3510. Wearable apparatus 110 may assign a weight to each of theitems of non-facial information identified from image 3500 based on theuniqueness levels. For example, a higher weight may be assigned to anitem of non-facial information (e.g., hairstyle 3515) having a higheruniqueness level. Likewise, a lower weight may be assigned to an item ofnon-facial information (e.g., device 3307) having a lower uniquenesslevel.

FIG. 36 is a flowchart illustrating a method for identifying a person inan environment of a user of a wearable apparatus based on non-facialinformation, consistent with the disclosed embodiments. Method 3600 maybe performed by wearable apparatus 110. In some embodiments, some or allof the steps of method 3600 may be performed by an external device, suchas computing device 120 that may be paired with wearable apparatus 110or server 250. In some embodiments, method 3600 may be performed by aprocessing device, such as processors 210, 210 a, or 210 b included inwearable apparatus 110, or processor 540 included in computing device120 or server 250. For example, instructions corresponding to method3600 may be stored in a memory, such as memory 550 or any other memoryof computing device 120 or server 250. The processing device of wearableapparatus 110 or computing device 120 (or server 250) may execute theinstructions stored in the memory to perform various methods andprocesses disclosed herein, including method 3600.

Method 3600 may include capturing a plurality of images from anenvironment of a user of a wearable apparatus (step 3610). For example,a camera (or image sensor) of wearable apparatus 110, such as imagesensor 220 (shown in FIGS. 5A, 5C, and 7), or 220 a, 220 b (shown inFIGS. 5B), may capture a plurality of images of an environment of user100. The image data captured by the image sensor may be provided to atleast one processing device (e.g., processors 210, 210 a, or 210 b) ofwearable apparatus 110 for processing.

Method 3600 may include analyzing a first image of the plurality ofimages to determine that a face appears in the first image (step 3620).At least one processing device (e.g., processors 210, 210 a, or 210 b)included in wearable apparatus 110 may execute any suitable facerecognition algorithm to recognize a face in the first image. In someembodiments, a processor included in computing device 120 or server 250may analyze the images to recognize a face appearing in the first image.

Method 3600 may include analyzing a second image of the plurality ofimages to identify an item of non-facial information appearing in thesecond image that was captured within a time period including a timewhen the first image is captured (step 3630). For example, in a firstimage (e.g., image 3395 shown in FIG. 33C), a face may be detected orrecognized. A second image (e.g., image 3390 shown in FIG. 33B) may becaptured within a time period, e.g., 1 second, 2 seconds, 3 seconds,etc., before and/or after the time the first image is captured (the timeperiod may include the time when the first image is captured). Wearableapparatus 110 may identify, from the second image, at least one item ofnon-facial information. The item of non-facial information may or maynot appear in the same image as the face. The item of non-facialinformation may be used to determine an identity of a person associatedwith the identified face in the first image.

Method 3600 may include determining identification information of aperson associated with the face based on the item of non-facialinformation (step 3640). The identification information may include anidentity (e.g., a name) of the person, or an index of a database storinga plurality of identities of a plurality of persons. The index may be apointer that points to a location in the database where a name of aperson is stored.

Method 3600 may include other processes or steps disclosed herein butnot presented in FIG. 36. For example, wearable apparatus 110 maytransmit the identification information to an external device, such ascomputing device 120 and/or server 250, for processing and/or display.In some embodiments, method 3600 may include one or more steps disclosedin the method discussed below in connection with FIG. 37.

FIG. 37 is a flowchart illustrating a method for identifying a person inan environment of a user of a wearable apparatus based on non-facialinformation, consistent with the disclosed embodiments. Method 3700 maybe performed by wearable apparatus 110. In some embodiments, some or allof the steps of method 3700 may be performed by computing device 120that may be paired with wearable apparatus 110, or server 250. Method3700 may be performed by a processing device, such as processor 210, 210a, or 210 b of wearable apparatus 110, processor 540 of computing device120, or a processor of server 250. In some embodiments, instructionscorresponding to method 3700 may be stored in a memory, such as memory550 or 550 a of wearable apparatus 110, memory 550 b of computing device120, or a memory of server 250. The processing device of wearableapparatus 110, computing device 120, or server 250 may execute theinstructions stored in the memory to perform various methods andprocesses disclosed herein, including method 3700. For convenience,method 3700 is described as being performed by wearable apparatus 110.It is understood that some or all of the steps of method 3700 may beperformed by computing device 120 and/or server 250.

Method 3700 may include determining, based on at least informationassociated with the user, a plurality of persons who are scheduled toattend an event that the user is scheduled to attend (step 3710). Theinformation associated with the user may include calendar information ofthe user, contacts information of the user, or any other suitableinformation related to the user. For example, wearable apparatus 110 mayaccess calendar information of user 100, which may be stored on wearableapparatus 110, computing device 120 paired with wearable apparatus 110,server 250, or another network device not shown in FIG. 34. Based on thecalendar information of user 100, wearable apparatus 110 may determinethat user 100 is scheduled to attend an event (e.g., a concert) at oraround the time when image 3300 is captured. Wearable apparatus 110 mayacquire positioning information of user 100 to determine a location ofuser 100. Wearable apparatus 110 may access other information relatingto the location, such as information available on the Internetindicating that a concert is held at or around the location.Alternatively or additionally, wearable apparatus 110 may acquire sounddata at the scene shown in image 3300, and determine from the sound datathat a concert is likely being held at the scene. Based on theseanalyses, wearable apparatus 110 may determine that user 100 isattending a concert.

Wearable apparatus 110 may determine a plurality of persons who arescheduled to attend the event (e.g., concert) the user is scheduled toattend. For example, wearable apparatus 110 may access contactsinformation of user 100, which may be stored in wearable apparatus 110,computing device 120, server 250, or another network device. Wearableapparatus 110 may further access calendar information of the contacts ofuser 100. The calendar information of the contacts of user 100 may bestored in wearable apparatus 110, computing device 120, or server 250,or in a database stored in another network device accessible to wearableapparatus 110, server 250, and/or computing device 120. Based on thecalendar information of the contacts of user 100, wearable apparatus 110may determine a plurality of persons from the contacts who are scheduledto attend the event user 100 is scheduled to attend. In someembodiments, wearable apparatus 110 may access a database to obtain alist of persons who have purchased the tickets for the concert, and thenaccess the calendar information of these persons to determine aplurality of persons who are scheduled to attend the concert user 100 isscheduled to attend.

In some embodiments, wearable apparatus 110 may access social mediaposts or messages associated with user 100, which may indicate who willbe attending the event together with user 100. Wearable apparatus 110may determine a plurality of persons who are scheduled to attend theevent based on the social media information associated with user 100. Insome embodiments, wearable apparatus 110 may access emails of user 100,which may indicate who will be attending the event together with user100.

Method 3700 may include obtaining image data captured by wearableapparatus 110 at a location associated with the event (step 3720). Theimage data may include a representation of a face. An image sensorincluded in wearable apparatus 110 may capture the image data. Forexample, image sensor 220 or 220 a of wearable apparatus 110 may capturea plurality of images of a scene of an event at a location where theevent is being held. A processor of wearable apparatus 110 may obtainthe image data from the image sensor. The image data may representimages of a scene of the environment at the location associated with theevent. Examples of the images are shown in FIGS. 33A-33C and 35.

Method 3700 may include comparing information derived from the imagedata with stored information associated with at least a subset of theplurality of persons (step 3730). The information derived from the imagedata may include facial information, non-facial information, and anyother suitable information that may be derived from image data. Theinformation associated with at least a subset of the plurality ofpersons may be stored in database 3320, or in another database externalto wearable apparatus 110 and accessible by wearable apparatus 110. Insome embodiments, wearable apparatus 110 may compare facial and/ornon-facial information derived from the image data with stored facialand/or non-facial information associated with the plurality of personsor a subset of the plurality of persons.

Wearable apparatus 110 may determine a subset from the plurality ofpersons based on certain criteria before performing the comparison. Forexample, the subset may include all females from the plurality ofpersons, all males from the plurality of persons, or persons who have arelationship with the user (e.g., co-workers, relatives, persons whoshare the same or similar interest, hobbies, etc.). In some embodiments,the persons may be contacts of user 100, and the subset may be a subsetof contacts of user 100. In some embodiments, wearable apparatus 110 maycompare image data of the representation of the face captured by theimage sensor with stored face images of the subset of the plurality ofpersons. In some embodiments, wearable apparatus 110 may comparenon-facial information (e.g., hairstyle, clothing, etc.) with storednon-facial information of the subset of the plurality of persons.

Wearable apparatus 110 may determine the subset of the plurality ofpersons using other criteria. For example, wearable apparatus 110 maydetermine the subset of the plurality of persons from the contacts ofuser 100 who are scheduled to attend the event. As another example,wearable apparatus 110 may determine the subset based on calendarinformation of user 100 indicating that user 100 is attending a concertwith a female. Thus, the subset may include persons that are femalecontacts of user 100.

In some embodiments, wearable apparatus 110 may determine the subsetbased on location information associated with user 100, indicating thatuser 100 is located at Market Street. The subset may include contacts ofuser 100 who are located at or near Market Street. It is understood thatmobile devices and/or wearable apparatuses carried by the contacts maytransmit their location information (e.g., GPS information) to server250 or another network device from which wearable apparatus 110 canretrieve the location information of the contacts.

In some embodiments, wearable apparatus 110 may determine the subsetbased on social media information associated with user 100 (e.g., amessage posted by user 100 or friends/colleagues/contacts of user 100)that is available on social media websites indicating that user 100 isscheduled to attend the concert with friends/colleagues/contacts. Thus,the subset of persons may include those persons identified from thesocial media information.

In some embodiments, wearable apparatus 110 may determine the subsetbased on voice characteristics of user 100. For example, microphone 3405may acquire voice data of user 100, such as “Honey, I like the music”uttered by user 100. Wearable apparatus 110 may analyze voice data anddetermine that person 3305 is one who has a close relationship with user100. Thus, the subset of persons may include contacts of user 100 whomay have a close relationship with user 100.

In some embodiments, wearable apparatus 110 may determine the subsetbased on hobby information of user 100 and hobby information of thecontacts of user 100. For example, wearable apparatus 110 may determinefrom the audio data acquired by microphone 3405 that rock and roll musicis being played in the environment of user 100. Wearable apparatus 110may access hobby information (which may be stored in computing device120 and/or server 250 or another device) associated with user 100indicating that user 100 likes rock and roll music. Wearable apparatus110 may also access hobby information (which may be stored in computingdevice 120 and/or server 250 or another device) associated with thecontacts of user 100, and select those contacts who share the same hobby(rock and roll music) as user 100. Thus, the subset of persons mayinclude those contacts who share the same hobby as user 100.

Method 3700 may include determining identification information of aperson associated with the face based on the comparison (step 3740). Forexample, after comparing information derived from the image datacaptured by wearable apparatus 110 with the stored information of theplurality of persons, wearable apparatus 110 may identify a matchbetween the compared information. Based on the matching information,wearable apparatus 110 may determine the identification information ofthe person associated with the face. The identification information mayinclude an identity (e.g., a name) of the person, or an index pointingto an identity database where a name of the person can be found.

Method 3700 may include other steps or processes. For example, method3700 may include transmitting the identification information (e.g.,name) of the person associated with the face to an external devicepaired with the wearable apparatus for display. For example, computingdevice 120 or server 250 may display the name of the person associatedwith the face. In some embodiments, computing device 120 or server 250may transmit an audio signal to wearable apparatus 110 to pronounce thename of the person to user 100.

The above methods (e.g., method 3600 and 3700) may further include othersteps or processes disclosed herein but not presented in FIGS. 36 and37, such as those discussed above in connection with any of the otherfigures in this disclosure.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to the preciseforms or embodiments disclosed. Modifications and adaptations will beapparent to those skilled in the art from consideration of thespecification and practice of the disclosed embodiments. Additionally,although aspects of the disclosed embodiments are described as beingstored in memory, one skilled in the art will appreciate that theseaspects can also be stored on other types of computer readable media,such as secondary storage devices, for example, hard disks or CD ROM, orother forms of RAM or ROM, USB media, DVD, Blu-ray, Ultra HD Blu-ray, orother optical drive media.

Computer programs based on the written description and disclosed methodsare within the skill of an experienced developer. The various programsor program modules can be created using any of the techniques known toone skilled in the art or can be designed in connection with existingsoftware. For example, program sections or program modules can bedesigned in or by means of .Net Framework, .Net Compact Framework (andrelated languages, such as Visual Basic, C, etc.), Java, C++,Objective-C, HTML, HTML/AJAX combinations, XML, or HTML with includedJava applets.

Moreover, while illustrative embodiments have been described herein, thescope of any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations and/or alterations as would be appreciated bythose skilled in the art based on the present disclosure. Thelimitations in the claims are to be interpreted broadly based on thelanguage employed in the claims and not limited to examples described inthe present specification or during the prosecution of the application.The examples are to be construed as non-exclusive. Furthermore, thesteps of the disclosed methods may be modified in any manner, includingby reordering steps and/or inserting or deleting steps. It is intended,therefore, that the specification and examples be considered asillustrative only, with a true scope and spirit being indicated by thefollowing claims and their full scope of equivalents.

1. A wearable apparatus for monitoring activities, the wearableapparatus comprising: a wearable image sensor configured to capture aplurality of images from an environment of a user of the wearableapparatus; and at least one processing device programmed to: analyze theplurality of images to identify in one or more of the plurality ofimages at least one indicator of an activity; and transmit, to anexternal device, the at least one indicator of the activity.
 2. Thewearable apparatus of claim 1, wherein the external device is programmedto analyze the at least one indicator of the activity.
 3. The wearableapparatus of claim 1, wherein the external device includes at least oneof: a smartphone, a tablet, or a smartwatch.
 4. The wearable apparatusof claim 1, wherein the external device includes a server.
 5. Thewearable apparatus of claim 1, further comprising a transmitterconfigured to enable wireless pairing with a receiver in the externaldevice.
 6. (canceled)
 7. (canceled)
 8. (canceled)
 9. The wearableapparatus of claim 1, wherein the transmitted information enables theexternal device to select at least one content item based on theactivity.
 10. The wearable apparatus of claim 9, wherein the externaldevice is programmed to transmit the at least one content item to adevice paired with the wearable apparatus.
 11. (canceled)
 12. Thewearable apparatus of claim 9, wherein the at least one content itemcomprises at least one keyword.
 13. The wearable apparatus of claim 12,wherein the external device is programmed to: prepare at least onesearch query based on the at least one keyword; and transmit the atleast one search query to a search engine.
 14. The wearable apparatus ofclaim 9, wherein the at least one content item includes arecommendation.
 15. The wearable apparatus of claim 1, wherein the atleast one indicator of the activity includes an identifier of an itemthe user ate.
 16. The wearable apparatus of claim 1, wherein theactivity includes a fitness activity.
 17. The wearable apparatus ofclaim 1, wherein the activity relates to wellness or health of the user.18. The wearable apparatus of claim 1, wherein the at least oneindicator of the activity includes information related to thesurroundings of the user.
 19. The wearable apparatus of claim 18,wherein the external device is programmed to provide at least onerecommendation related to the surroundings of the user.
 20. The wearableapparatus of claim 19, wherein the at least one recommendation relatesto adjusting or modifying at least one aspect of the surroundings of theuser.
 21. The wearable apparatus of claim 20, wherein the at least oneaspect of the surroundings of the user includes a light level of a roomor a position of a chair in the room.
 22. The wearable apparatus ofclaim 1, wherein the at least one indicator of the activity includes anumber of exercise repetitions performed by the user.
 23. The wearableapparatus of claim 22, wherein the external device is programmed toprovide at least one recommendation based on the number of exerciserepetitions performed by the user.
 24. The wearable apparatus of claim1, wherein the external device is programmed to provide at least onegraphical representation related to the activity.
 25. The wearableapparatus of claim 24, wherein the graphical representation includes anindication associated with the amount of time the user engaged in theactivity.
 26. The wearable apparatus of claim 24, wherein the graphicalrepresentation comprises at least one of: a graph or a pie chart. 27.The wearable apparatus of claim 24, wherein the external device isprogrammed to display the at least one graphical representation on adisplay of the external device.
 28. The wearable apparatus of claim 1,wherein the external device is programmed to provide at least onereminder related to the activity.
 29. The wearable apparatus of claim28, wherein the reminder includes a progress level related to theactivity.
 30. The wearable apparatus of claim 1, wherein the at leastone processing device is further programmed to: analyze the plurality ofimages to estimate a distance associated with the activity.
 31. Thewearable apparatus of claim 30, wherein the at least one processingdevice is further programmed to: based on the distance associated withthe activity, determine whether to transmit the at least one indicatorof the activity.
 32. The wearable apparatus of claim 30, wherein the atleast one processing device is further programmed to: analyze theplurality of images to identify in one or more of the plurality ofimages at least one indicator of a second activity; analyze theplurality of images to estimate a distance associated with the secondactivity; and based on the distance associated with the activity and onthe distance associated with the second activity, select at least oneactivity of a group of activities, the group of activities comprisingthe activity and the second activity.
 33. A method for monitoringactivities using a wearable apparatus, the method apparatus comprising:obtaining a plurality of images from an environment of a user of thewearable apparatus; and analyzing the plurality of images to identify inone or more of the plurality of images at least one indicator of theactivity. 34.-58. (canceled)
 59. A non-transitory computer readablemedium storing computer-executable instructions that, when executed bythe processor, cause the processor to perform a method comprising:obtaining a plurality of images from an environment of a user of thewearable apparatus; and analyzing the plurality of images to identify inone or more of the plurality of images at least one indicator of theactivity.